{
  "openapi": "3.1.0",
  "info": {
    "title": "DualEntry Public API",
    "version": "2.0.0",
    "description": ""
  },
  "paths": {
    "/public/v2/health/": {
      "get": {
        "operationId": "core_api_public_public_router_health_check",
        "summary": "API Health Check",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response",
                  "type": "object"
                }
              }
            }
          }
        },
        "description": "Verify that the DualEntry Public API is operational and accepting requests.\n\nThis endpoint provides a quick way to:\n- Confirm API connectivity\n- Validate that your API key is working correctly\n- Check service availability for monitoring and uptime tracking\n\n**Response includes:**\n- `status`: Current health status of the API\n- `timestamp`: Current server time in ISO 8601 format\n\n**Note:** This endpoint is rate-limited like all other API endpoints. For high-frequency monitoring, consider using a dedicated monitoring service or increasing your rate limit.",
        "tags": [
          "Health"
        ],
        "x-mint": {
          "metadata": {
            "description": "Verify that the DualEntry Public API is operational and accepting requests."
          }
        }
      }
    },
    "/public/v2/invoices/": {
      "get": {
        "operationId": "list_InvoiceV2_records",
        "summary": "List InvoiceV2 records",
        "parameters": [
          {
            "in": "query",
            "name": "integration_sources",
            "schema": {
              "title": "Integration Sources",
              "items": {
                "$ref": "#/components/schemas/IntegrationSourceSlug"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "q": "company_id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "q": "number__in",
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "customer_id",
            "schema": {
              "q": "customer_id__in",
              "title": "Customer Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "start_date",
            "schema": {
              "q": "transaction__date__gte",
              "title": "Start Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "end_date",
            "schema": {
              "q": "transaction__date__lte",
              "title": "End Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "due_date",
            "schema": {
              "q": "due_date__gte",
              "title": "Due Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "due_date_until",
            "schema": {
              "q": "due_date__lte",
              "title": "Due Date Until",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "transaction_currency",
            "schema": {
              "q": "transaction__currency_iso_4217_code__in",
              "title": "Transaction Currency",
              "items": {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "q": "transaction__record_status__in",
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "approval_status",
            "schema": {
              "title": "Approval Status",
              "items": {
                "type": "string"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "approval_status_scope",
            "schema": {
              "title": "Approval Status Scope",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "amount_due_gte",
            "schema": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Return invoices whose outstanding balance (amount_due) is greater than or equal to this value.",
              "title": "Amount Due Gte"
            },
            "required": false,
            "description": "Return invoices whose outstanding balance (amount_due) is greater than or equal to this value."
          },
          {
            "in": "query",
            "name": "amount_due_lte",
            "schema": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Return invoices whose outstanding balance (amount_due) is less than or equal to this value.",
              "title": "Amount Due Lte"
            },
            "required": false,
            "description": "Return invoices whose outstanding balance (amount_due) is less than or equal to this value."
          },
          {
            "in": "query",
            "name": "amount_due_updated_at_gte",
            "schema": {
              "description": "Return invoices whose amount_due_updated_at is greater than or equal to this timestamp.",
              "title": "Amount Due Updated At Gte",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false,
            "description": "Return invoices whose amount_due_updated_at is greater than or equal to this timestamp."
          },
          {
            "in": "query",
            "name": "amount_due_updated_at_lte",
            "schema": {
              "description": "Return invoices whose amount_due_updated_at is less than or equal to this timestamp.",
              "title": "Amount Due Updated At Lte",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false,
            "description": "Return invoices whose amount_due_updated_at is less than or equal to this timestamp."
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "q": "updated_at__gte",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "q": "updated_at__lte",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "ordering",
            "schema": {
              "default": "id",
              "title": "Ordering",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "description": "Number of records to return per page (capped at 100)",
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to return per page (capped at 100)"
          },
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "description": "Number of records to skip before starting to return results",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to skip before starting to return results"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedPublicInvoiceV2ListSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a paginated list of InvoiceV2 records with filtering and ordering options.",
        "tags": [
          "Invoices"
        ]
      },
      "post": {
        "operationId": "create_InvoiceV2_record",
        "summary": "Create InvoiceV2 record",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicInvoiceV2SchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Create a new InvoiceV2 record with the provided data. Validates all required fields and business rules.",
        "tags": [
          "Invoices"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicInvoiceSchemaCreateIn"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v2/invoices/{record_number}/": {
      "get": {
        "operationId": "get_InvoiceV2_record",
        "summary": "Get InvoiceV2 record",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          },
          {
            "in": "query",
            "name": "integration_sources",
            "schema": {
              "title": "Integration Sources",
              "items": {
                "$ref": "#/components/schemas/IntegrationSourceSlug"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "q": "company_id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "q": "number__in",
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "customer_id",
            "schema": {
              "q": "customer_id__in",
              "title": "Customer Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "start_date",
            "schema": {
              "q": "transaction__date__gte",
              "title": "Start Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "end_date",
            "schema": {
              "q": "transaction__date__lte",
              "title": "End Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "due_date",
            "schema": {
              "q": "due_date__gte",
              "title": "Due Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "due_date_until",
            "schema": {
              "q": "due_date__lte",
              "title": "Due Date Until",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "transaction_currency",
            "schema": {
              "q": "transaction__currency_iso_4217_code__in",
              "title": "Transaction Currency",
              "items": {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "q": "transaction__record_status__in",
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "approval_status",
            "schema": {
              "title": "Approval Status",
              "items": {
                "type": "string"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "approval_status_scope",
            "schema": {
              "title": "Approval Status Scope",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "amount_due_gte",
            "schema": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Return invoices whose outstanding balance (amount_due) is greater than or equal to this value.",
              "title": "Amount Due Gte"
            },
            "required": false,
            "description": "Return invoices whose outstanding balance (amount_due) is greater than or equal to this value."
          },
          {
            "in": "query",
            "name": "amount_due_lte",
            "schema": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Return invoices whose outstanding balance (amount_due) is less than or equal to this value.",
              "title": "Amount Due Lte"
            },
            "required": false,
            "description": "Return invoices whose outstanding balance (amount_due) is less than or equal to this value."
          },
          {
            "in": "query",
            "name": "amount_due_updated_at_gte",
            "schema": {
              "description": "Return invoices whose amount_due_updated_at is greater than or equal to this timestamp.",
              "title": "Amount Due Updated At Gte",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false,
            "description": "Return invoices whose amount_due_updated_at is greater than or equal to this timestamp."
          },
          {
            "in": "query",
            "name": "amount_due_updated_at_lte",
            "schema": {
              "description": "Return invoices whose amount_due_updated_at is less than or equal to this timestamp.",
              "title": "Amount Due Updated At Lte",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false,
            "description": "Return invoices whose amount_due_updated_at is less than or equal to this timestamp."
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "q": "updated_at__gte",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "q": "updated_at__lte",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicInvoiceV2SchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a specific InvoiceV2 record by its record number with all related data.",
        "tags": [
          "Invoices"
        ]
      },
      "put": {
        "operationId": "update_InvoiceV2_record",
        "summary": "Update InvoiceV2 record",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicInvoiceV2SchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Update an existing InvoiceV2 record with the provided data. Validates all required fields and business rules.",
        "tags": [
          "Invoices"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicInvoiceSchemaUpdateIn"
              }
            }
          },
          "required": true
        }
      },
      "patch": {
        "operationId": "patch_InvoiceV2_record",
        "summary": "Update InvoiceV2 record (partial)",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicInvoiceV2SchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Partially update an existing InvoiceV2 record. Send only the fields you want to change — anything you don't send stays as it is. Updates are subject to the same constraints as the full update endpoint: period locks, payment-applied restrictions, and approval-workflow rules apply.",
        "tags": [
          "Invoices"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicInvoiceSchemaPatchIn"
              }
            }
          },
          "required": true
        },
        "x-mint": {
          "metadata": {
            "description": "Partially update an existing InvoiceV2 record."
          }
        }
      }
    },
    "/public/v2/invoices/{record_number}/attachments/": {
      "post": {
        "operationId": "create_InvoiceV2_record_attachments",
        "summary": "Create InvoiceV2 record attachments",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicInvoiceV2SchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Upload attachments to a InvoiceV2 record.",
        "tags": [
          "Invoices"
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "properties": {
                  "files": {
                    "items": {
                      "format": "binary",
                      "type": "string"
                    },
                    "title": "Files",
                    "type": "array"
                  }
                },
                "required": [
                  "files"
                ],
                "title": "FileParams",
                "type": "object"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v2/invoices/{record_number}/attachments/replace/": {
      "post": {
        "operationId": "replace_InvoiceV2_record_attachments",
        "summary": "Replace InvoiceV2 record attachments",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicInvoiceV2SchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Replace all attachments on a InvoiceV2 record. Existing attachments are marked as deleted.",
        "tags": [
          "Invoices"
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "properties": {
                  "files": {
                    "items": {
                      "format": "binary",
                      "type": "string"
                    },
                    "title": "Files",
                    "type": "array"
                  }
                },
                "required": [
                  "files"
                ],
                "title": "FileParams",
                "type": "object"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v2/invoices/{record_number}/lines/": {
      "get": {
        "operationId": "list_InvoiceV2_record_lines",
        "summary": "List InvoiceV2 record lines",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          },
          {
            "in": "query",
            "name": "integration_sources",
            "schema": {
              "title": "Integration Sources",
              "items": {
                "$ref": "#/components/schemas/IntegrationSourceSlug"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "q": "company_id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "q": "number__in",
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "customer_id",
            "schema": {
              "q": "customer_id__in",
              "title": "Customer Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "start_date",
            "schema": {
              "q": "transaction__date__gte",
              "title": "Start Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "end_date",
            "schema": {
              "q": "transaction__date__lte",
              "title": "End Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "due_date",
            "schema": {
              "q": "due_date__gte",
              "title": "Due Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "due_date_until",
            "schema": {
              "q": "due_date__lte",
              "title": "Due Date Until",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "transaction_currency",
            "schema": {
              "q": "transaction__currency_iso_4217_code__in",
              "title": "Transaction Currency",
              "items": {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "q": "transaction__record_status__in",
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "approval_status",
            "schema": {
              "title": "Approval Status",
              "items": {
                "type": "string"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "approval_status_scope",
            "schema": {
              "title": "Approval Status Scope",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "amount_due_gte",
            "schema": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Return invoices whose outstanding balance (amount_due) is greater than or equal to this value.",
              "title": "Amount Due Gte"
            },
            "required": false,
            "description": "Return invoices whose outstanding balance (amount_due) is greater than or equal to this value."
          },
          {
            "in": "query",
            "name": "amount_due_lte",
            "schema": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Return invoices whose outstanding balance (amount_due) is less than or equal to this value.",
              "title": "Amount Due Lte"
            },
            "required": false,
            "description": "Return invoices whose outstanding balance (amount_due) is less than or equal to this value."
          },
          {
            "in": "query",
            "name": "amount_due_updated_at_gte",
            "schema": {
              "description": "Return invoices whose amount_due_updated_at is greater than or equal to this timestamp.",
              "title": "Amount Due Updated At Gte",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false,
            "description": "Return invoices whose amount_due_updated_at is greater than or equal to this timestamp."
          },
          {
            "in": "query",
            "name": "amount_due_updated_at_lte",
            "schema": {
              "description": "Return invoices whose amount_due_updated_at is less than or equal to this timestamp.",
              "title": "Amount Due Updated At Lte",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false,
            "description": "Return invoices whose amount_due_updated_at is less than or equal to this timestamp."
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "q": "updated_at__gte",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "q": "updated_at__lte",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "description": "Number of records to return per page (capped at 100)",
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to return per page (capped at 100)"
          },
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "description": "Number of records to skip before starting to return results",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to skip before starting to return results"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedPublicInvoiceItemOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a paginated list of lines for a specific InvoiceV2 record, ordered by position.",
        "tags": [
          "Invoices"
        ]
      }
    },
    "/public/v2/sales-orders/": {
      "get": {
        "operationId": "list_SalesOrderV2_records",
        "summary": "List SalesOrderV2 records",
        "parameters": [
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "q": "company_id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "q": "number__in",
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "customer_id",
            "schema": {
              "q": "customer_id__in",
              "title": "Customer Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "start_date",
            "schema": {
              "q": "date__gte",
              "title": "Start Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "end_date",
            "schema": {
              "q": "date__lte",
              "title": "End Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "q": "record_status__in",
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "invoiced_status",
            "schema": {
              "title": "Invoiced Status",
              "items": {
                "$ref": "#/components/schemas/SalesOrderInvoicedStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "approval_status",
            "schema": {
              "title": "Approval Status",
              "items": {
                "type": "string"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "approval_status_scope",
            "schema": {
              "title": "Approval Status Scope",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "q": "updated_at__gte",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "q": "updated_at__lte",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "ordering",
            "schema": {
              "default": "id",
              "title": "Ordering",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "description": "Number of records to return per page (capped at 100)",
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to return per page (capped at 100)"
          },
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "description": "Number of records to skip before starting to return results",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to skip before starting to return results"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedPublicSalesOrderV2ListSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a paginated list of SalesOrderV2 records with filtering and ordering options.",
        "tags": [
          "Sales Orders"
        ]
      },
      "post": {
        "operationId": "create_SalesOrderV2_record",
        "summary": "Create SalesOrderV2 record",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicSalesOrderV2SchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Create a new SalesOrderV2 record with the provided data. Validates all required fields and business rules.",
        "tags": [
          "Sales Orders"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicSalesOrderSchemaCreateIn"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v2/sales-orders/{record_number}/": {
      "get": {
        "operationId": "get_SalesOrderV2_record",
        "summary": "Get SalesOrderV2 record",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "q": "company_id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "q": "number__in",
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "customer_id",
            "schema": {
              "q": "customer_id__in",
              "title": "Customer Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "start_date",
            "schema": {
              "q": "date__gte",
              "title": "Start Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "end_date",
            "schema": {
              "q": "date__lte",
              "title": "End Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "q": "record_status__in",
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "invoiced_status",
            "schema": {
              "title": "Invoiced Status",
              "items": {
                "$ref": "#/components/schemas/SalesOrderInvoicedStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "approval_status",
            "schema": {
              "title": "Approval Status",
              "items": {
                "type": "string"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "approval_status_scope",
            "schema": {
              "title": "Approval Status Scope",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "q": "updated_at__gte",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "q": "updated_at__lte",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicSalesOrderV2SchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a specific SalesOrderV2 record by its record number with all related data.",
        "tags": [
          "Sales Orders"
        ]
      },
      "put": {
        "operationId": "update_SalesOrderV2_record",
        "summary": "Update SalesOrderV2 record",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicSalesOrderV2SchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Update an existing SalesOrderV2 record with the provided data. Validates all required fields and business rules.",
        "tags": [
          "Sales Orders"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicSalesOrderSchemaUpdateIn"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v2/sales-orders/{record_number}/attachments/": {
      "post": {
        "operationId": "create_SalesOrderV2_record_attachments",
        "summary": "Create SalesOrderV2 record attachments",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicSalesOrderV2SchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Upload attachments to a SalesOrderV2 record.",
        "tags": [
          "Sales Orders"
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "properties": {
                  "files": {
                    "items": {
                      "format": "binary",
                      "type": "string"
                    },
                    "title": "Files",
                    "type": "array"
                  }
                },
                "required": [
                  "files"
                ],
                "title": "FileParams",
                "type": "object"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v2/sales-orders/{record_number}/lines/": {
      "get": {
        "operationId": "list_SalesOrderV2_record_lines",
        "summary": "List SalesOrderV2 record lines",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "q": "company_id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "q": "number__in",
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "customer_id",
            "schema": {
              "q": "customer_id__in",
              "title": "Customer Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "start_date",
            "schema": {
              "q": "date__gte",
              "title": "Start Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "end_date",
            "schema": {
              "q": "date__lte",
              "title": "End Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "q": "record_status__in",
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "invoiced_status",
            "schema": {
              "title": "Invoiced Status",
              "items": {
                "$ref": "#/components/schemas/SalesOrderInvoicedStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "approval_status",
            "schema": {
              "title": "Approval Status",
              "items": {
                "type": "string"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "approval_status_scope",
            "schema": {
              "title": "Approval Status Scope",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "q": "updated_at__gte",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "q": "updated_at__lte",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "description": "Number of records to return per page (capped at 100)",
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to return per page (capped at 100)"
          },
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "description": "Number of records to skip before starting to return results",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to skip before starting to return results"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedPublicSalesOrderItemOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a paginated list of lines for a specific SalesOrderV2 record, ordered by position.",
        "tags": [
          "Sales Orders"
        ]
      }
    },
    "/public/v2/bills/": {
      "get": {
        "operationId": "list_BillV2_records",
        "summary": "List BillV2 records",
        "parameters": [
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "q": "company_id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "vendor_id",
            "schema": {
              "q": "vendor_id__in",
              "title": "Vendor Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "q": "number__in",
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "start_date",
            "schema": {
              "q": "transaction__date__gte",
              "title": "Start Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "end_date",
            "schema": {
              "q": "transaction__date__lte",
              "title": "End Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "due_date",
            "schema": {
              "q": "due_date__gte",
              "title": "Due Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "q": "transaction__record_status__in",
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "approval_status",
            "schema": {
              "title": "Approval Status",
              "items": {
                "type": "string"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "approval_status_scope",
            "schema": {
              "title": "Approval Status Scope",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "q": "updated_at__gte",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "q": "updated_at__lte",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "ordering",
            "schema": {
              "default": "id",
              "title": "Ordering",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "description": "Number of records to return per page (capped at 100)",
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to return per page (capped at 100)"
          },
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "description": "Number of records to skip before starting to return results",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to skip before starting to return results"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedPublicBillV2ListSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a paginated list of BillV2 records with filtering and ordering options.",
        "tags": [
          "Bills"
        ]
      },
      "post": {
        "operationId": "create_BillV2_record",
        "summary": "Create BillV2 record",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicBillV2SchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Create a new BillV2 record with the provided data. Validates all required fields and business rules.",
        "tags": [
          "Bills"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicBillSchemaCreateIn"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v2/bills/{record_number}/": {
      "get": {
        "operationId": "get_BillV2_record",
        "summary": "Get BillV2 record",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "q": "company_id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "vendor_id",
            "schema": {
              "q": "vendor_id__in",
              "title": "Vendor Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "q": "number__in",
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "start_date",
            "schema": {
              "q": "transaction__date__gte",
              "title": "Start Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "end_date",
            "schema": {
              "q": "transaction__date__lte",
              "title": "End Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "due_date",
            "schema": {
              "q": "due_date__gte",
              "title": "Due Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "q": "transaction__record_status__in",
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "approval_status",
            "schema": {
              "title": "Approval Status",
              "items": {
                "type": "string"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "approval_status_scope",
            "schema": {
              "title": "Approval Status Scope",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "q": "updated_at__gte",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "q": "updated_at__lte",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicBillV2SchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a specific BillV2 record by its record number with all related data.",
        "tags": [
          "Bills"
        ]
      },
      "put": {
        "operationId": "update_BillV2_record",
        "summary": "Update BillV2 record",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicBillV2SchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Update an existing BillV2 record with the provided data. Validates all required fields and business rules.",
        "tags": [
          "Bills"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicBillSchemaUpdateIn"
              }
            }
          },
          "required": true
        }
      },
      "patch": {
        "operationId": "patch_BillV2_record",
        "summary": "Update BillV2 record (partial)",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicBillV2SchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Partially update an existing BillV2 record. Send only the fields you want to change — anything you don't send stays as it is. Updates are subject to the same constraints as the full update endpoint: period locks, payment-applied restrictions, and approval-workflow rules apply.",
        "tags": [
          "Bills"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicBillSchemaPatchIn"
              }
            }
          },
          "required": true
        },
        "x-mint": {
          "metadata": {
            "description": "Partially update an existing BillV2 record."
          }
        }
      }
    },
    "/public/v2/bills/{record_number}/attachments/": {
      "post": {
        "operationId": "create_BillV2_record_attachments",
        "summary": "Create BillV2 record attachments",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicBillV2SchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Upload attachments to a BillV2 record.",
        "tags": [
          "Bills"
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "properties": {
                  "files": {
                    "items": {
                      "format": "binary",
                      "type": "string"
                    },
                    "title": "Files",
                    "type": "array"
                  }
                },
                "required": [
                  "files"
                ],
                "title": "FileParams",
                "type": "object"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v2/bills/{record_number}/lines/": {
      "get": {
        "operationId": "list_BillV2_record_lines",
        "summary": "List BillV2 record lines",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "q": "company_id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "vendor_id",
            "schema": {
              "q": "vendor_id__in",
              "title": "Vendor Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "q": "number__in",
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "start_date",
            "schema": {
              "q": "transaction__date__gte",
              "title": "Start Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "end_date",
            "schema": {
              "q": "transaction__date__lte",
              "title": "End Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "due_date",
            "schema": {
              "q": "due_date__gte",
              "title": "Due Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "q": "transaction__record_status__in",
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "approval_status",
            "schema": {
              "title": "Approval Status",
              "items": {
                "type": "string"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "approval_status_scope",
            "schema": {
              "title": "Approval Status Scope",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "q": "updated_at__gte",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "q": "updated_at__lte",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "description": "Number of records to return per page (capped at 100)",
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to return per page (capped at 100)"
          },
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "description": "Number of records to skip before starting to return results",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to skip before starting to return results"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedPublicBillLineOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a paginated list of lines for a specific BillV2 record, ordered by position.",
        "tags": [
          "Bills"
        ]
      }
    },
    "/public/v2/journal-entries/": {
      "get": {
        "operationId": "list_JournalEntryV2_records",
        "summary": "List JournalEntryV2 records",
        "parameters": [
          {
            "in": "query",
            "name": "integration_sources",
            "schema": {
              "title": "Integration Sources",
              "items": {
                "$ref": "#/components/schemas/IntegrationSourceSlug"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "q": "company_id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "account_id",
            "schema": {
              "q": "journal_entry_lines__account_id__in",
              "title": "Account Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "customer_id",
            "schema": {
              "q": "journal_entry_lines__customer_id__in",
              "title": "Customer Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "vendor_id",
            "schema": {
              "q": "journal_entry_lines__vendor_id__in",
              "title": "Vendor Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "q": "number__in",
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "start_date",
            "schema": {
              "q": "transaction__date__gte",
              "title": "Start Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "end_date",
            "schema": {
              "q": "transaction__date__lte",
              "title": "End Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "q": "transaction__record_status__in",
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "approval_status",
            "schema": {
              "title": "Approval Status",
              "items": {
                "type": "string"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "approval_status_scope",
            "schema": {
              "title": "Approval Status Scope",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "amount_gte",
            "schema": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "q": "transaction__amount__gte",
              "title": "Amount Gte"
            },
            "required": false
          },
          {
            "in": "query",
            "name": "amount_lte",
            "schema": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "q": "transaction__amount__lte",
              "title": "Amount Lte"
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "q": "updated_at__gte",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "q": "updated_at__lte",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "ordering",
            "schema": {
              "default": "id",
              "title": "Ordering",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "description": "Number of records to return per page (capped at 100)",
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to return per page (capped at 100)"
          },
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "description": "Number of records to skip before starting to return results",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to skip before starting to return results"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedPublicJournalEntryV2ListSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a paginated list of JournalEntryV2 records with filtering and ordering options.",
        "tags": [
          "Journal Entries"
        ]
      },
      "post": {
        "operationId": "create_JournalEntryV2_record",
        "summary": "Create JournalEntryV2 record",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicJournalEntryV2SchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Create a new JournalEntryV2 record with the provided data. Validates all required fields and business rules.",
        "tags": [
          "Journal Entries"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicJournalEntrySchemaCreateIn"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v2/journal-entries/{record_number}/": {
      "get": {
        "operationId": "get_JournalEntryV2_record",
        "summary": "Get JournalEntryV2 record",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          },
          {
            "in": "query",
            "name": "integration_sources",
            "schema": {
              "title": "Integration Sources",
              "items": {
                "$ref": "#/components/schemas/IntegrationSourceSlug"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "q": "company_id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "account_id",
            "schema": {
              "q": "journal_entry_lines__account_id__in",
              "title": "Account Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "customer_id",
            "schema": {
              "q": "journal_entry_lines__customer_id__in",
              "title": "Customer Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "vendor_id",
            "schema": {
              "q": "journal_entry_lines__vendor_id__in",
              "title": "Vendor Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "q": "number__in",
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "start_date",
            "schema": {
              "q": "transaction__date__gte",
              "title": "Start Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "end_date",
            "schema": {
              "q": "transaction__date__lte",
              "title": "End Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "q": "transaction__record_status__in",
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "approval_status",
            "schema": {
              "title": "Approval Status",
              "items": {
                "type": "string"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "approval_status_scope",
            "schema": {
              "title": "Approval Status Scope",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "amount_gte",
            "schema": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "q": "transaction__amount__gte",
              "title": "Amount Gte"
            },
            "required": false
          },
          {
            "in": "query",
            "name": "amount_lte",
            "schema": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "q": "transaction__amount__lte",
              "title": "Amount Lte"
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "q": "updated_at__gte",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "q": "updated_at__lte",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicJournalEntryV2SchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a specific JournalEntryV2 record by its record number with all related data.",
        "tags": [
          "Journal Entries"
        ]
      },
      "put": {
        "operationId": "update_JournalEntryV2_record",
        "summary": "Update JournalEntryV2 record",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicJournalEntryV2SchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Update an existing JournalEntryV2 record with the provided data. Validates all required fields and business rules.",
        "tags": [
          "Journal Entries"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicJournalEntrySchemaUpdateIn"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v2/journal-entries/{record_number}/attachments/": {
      "post": {
        "operationId": "create_JournalEntryV2_record_attachments",
        "summary": "Create JournalEntryV2 record attachments",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicJournalEntryV2SchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Upload attachments to a JournalEntryV2 record.",
        "tags": [
          "Journal Entries"
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "properties": {
                  "files": {
                    "items": {
                      "format": "binary",
                      "type": "string"
                    },
                    "title": "Files",
                    "type": "array"
                  }
                },
                "required": [
                  "files"
                ],
                "title": "FileParams",
                "type": "object"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v2/journal-entries/{record_number}/lines/": {
      "get": {
        "operationId": "list_JournalEntryV2_record_lines",
        "summary": "List JournalEntryV2 record lines",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          },
          {
            "in": "query",
            "name": "integration_sources",
            "schema": {
              "title": "Integration Sources",
              "items": {
                "$ref": "#/components/schemas/IntegrationSourceSlug"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "q": "company_id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "account_id",
            "schema": {
              "q": "journal_entry_lines__account_id__in",
              "title": "Account Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "customer_id",
            "schema": {
              "q": "journal_entry_lines__customer_id__in",
              "title": "Customer Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "vendor_id",
            "schema": {
              "q": "journal_entry_lines__vendor_id__in",
              "title": "Vendor Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "q": "number__in",
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "start_date",
            "schema": {
              "q": "transaction__date__gte",
              "title": "Start Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "end_date",
            "schema": {
              "q": "transaction__date__lte",
              "title": "End Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "q": "transaction__record_status__in",
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "approval_status",
            "schema": {
              "title": "Approval Status",
              "items": {
                "type": "string"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "approval_status_scope",
            "schema": {
              "title": "Approval Status Scope",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "amount_gte",
            "schema": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "q": "transaction__amount__gte",
              "title": "Amount Gte"
            },
            "required": false
          },
          {
            "in": "query",
            "name": "amount_lte",
            "schema": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "q": "transaction__amount__lte",
              "title": "Amount Lte"
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "q": "updated_at__gte",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "q": "updated_at__lte",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "description": "Number of records to return per page (capped at 100)",
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to return per page (capped at 100)"
          },
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "description": "Number of records to skip before starting to return results",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to skip before starting to return results"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedPublicJournalEntryV2ItemOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a paginated list of lines for a specific JournalEntryV2 record, ordered by position.",
        "tags": [
          "Journal Entries"
        ]
      }
    },
    "/public/v2/purchase-orders/": {
      "get": {
        "operationId": "list_PurchaseOrderV2_records",
        "summary": "List PurchaseOrderV2 records",
        "parameters": [
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "q": "company_id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "q": "number__in",
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "vendor_id",
            "schema": {
              "q": "vendor_id__in",
              "title": "Vendor Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "start_date",
            "schema": {
              "q": "date__gte",
              "title": "Start Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "end_date",
            "schema": {
              "q": "date__lte",
              "title": "End Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "q": "record_status__in",
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "approval_status",
            "schema": {
              "title": "Approval Status",
              "items": {
                "type": "string"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "approval_status_scope",
            "schema": {
              "title": "Approval Status Scope",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "billed",
            "schema": {
              "title": "Billed",
              "type": [
                "boolean",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "unbilled",
            "schema": {
              "title": "Unbilled",
              "type": [
                "boolean",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "partially_billed",
            "schema": {
              "title": "Partially Billed",
              "type": [
                "boolean",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "billed_status",
            "schema": {
              "default": [],
              "items": {
                "enum": [
                  "billed",
                  "unbilled",
                  "partially_billed"
                ],
                "title": "PurchaseOrderBilledStatus",
                "type": "string"
              },
              "title": "Billed Status",
              "type": "array",
              "uniqueItems": true
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "q": "updated_at__gte",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "q": "updated_at__lte",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "ordering",
            "schema": {
              "default": "id",
              "title": "Ordering",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "description": "Number of records to return per page (capped at 100)",
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to return per page (capped at 100)"
          },
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "description": "Number of records to skip before starting to return results",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to skip before starting to return results"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedPublicPurchaseOrderV2ListSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a paginated list of PurchaseOrderV2 records with filtering and ordering options.",
        "tags": [
          "Purchase Orders"
        ]
      },
      "post": {
        "operationId": "create_PurchaseOrderV2_record",
        "summary": "Create PurchaseOrderV2 record",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicPurchaseOrderV2SchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Create a new PurchaseOrderV2 record with the provided data. Validates all required fields and business rules.",
        "tags": [
          "Purchase Orders"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicPurchaseOrderSchemaCreateIn"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v2/purchase-orders/{record_number}/": {
      "get": {
        "operationId": "get_PurchaseOrderV2_record",
        "summary": "Get PurchaseOrderV2 record",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "q": "company_id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "q": "number__in",
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "vendor_id",
            "schema": {
              "q": "vendor_id__in",
              "title": "Vendor Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "start_date",
            "schema": {
              "q": "date__gte",
              "title": "Start Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "end_date",
            "schema": {
              "q": "date__lte",
              "title": "End Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "q": "record_status__in",
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "approval_status",
            "schema": {
              "title": "Approval Status",
              "items": {
                "type": "string"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "approval_status_scope",
            "schema": {
              "title": "Approval Status Scope",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "billed",
            "schema": {
              "title": "Billed",
              "type": [
                "boolean",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "unbilled",
            "schema": {
              "title": "Unbilled",
              "type": [
                "boolean",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "partially_billed",
            "schema": {
              "title": "Partially Billed",
              "type": [
                "boolean",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "billed_status",
            "schema": {
              "default": [],
              "items": {
                "enum": [
                  "billed",
                  "unbilled",
                  "partially_billed"
                ],
                "title": "PurchaseOrderBilledStatus",
                "type": "string"
              },
              "title": "Billed Status",
              "type": "array",
              "uniqueItems": true
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "q": "updated_at__gte",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "q": "updated_at__lte",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicPurchaseOrderV2SchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a specific PurchaseOrderV2 record by its record number with all related data.",
        "tags": [
          "Purchase Orders"
        ]
      },
      "put": {
        "operationId": "update_PurchaseOrderV2_record",
        "summary": "Update PurchaseOrderV2 record",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicPurchaseOrderV2SchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Update an existing PurchaseOrderV2 record with the provided data. Validates all required fields and business rules.",
        "tags": [
          "Purchase Orders"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicPurchaseOrderSchemaUpdateIn"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v2/purchase-orders/{record_number}/attachments/": {
      "post": {
        "operationId": "create_PurchaseOrderV2_record_attachments",
        "summary": "Create PurchaseOrderV2 record attachments",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicPurchaseOrderV2SchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Upload attachments to a PurchaseOrderV2 record.",
        "tags": [
          "Purchase Orders"
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "properties": {
                  "files": {
                    "items": {
                      "format": "binary",
                      "type": "string"
                    },
                    "title": "Files",
                    "type": "array"
                  }
                },
                "required": [
                  "files"
                ],
                "title": "FileParams",
                "type": "object"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v2/purchase-orders/{record_number}/lines/": {
      "get": {
        "operationId": "list_PurchaseOrderV2_record_lines",
        "summary": "List PurchaseOrderV2 record lines",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "q": "company_id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "q": "number__in",
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "vendor_id",
            "schema": {
              "q": "vendor_id__in",
              "title": "Vendor Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "start_date",
            "schema": {
              "q": "date__gte",
              "title": "Start Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "end_date",
            "schema": {
              "q": "date__lte",
              "title": "End Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "q": "record_status__in",
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "approval_status",
            "schema": {
              "title": "Approval Status",
              "items": {
                "type": "string"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "approval_status_scope",
            "schema": {
              "title": "Approval Status Scope",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "billed",
            "schema": {
              "title": "Billed",
              "type": [
                "boolean",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "unbilled",
            "schema": {
              "title": "Unbilled",
              "type": [
                "boolean",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "partially_billed",
            "schema": {
              "title": "Partially Billed",
              "type": [
                "boolean",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "billed_status",
            "schema": {
              "default": [],
              "items": {
                "enum": [
                  "billed",
                  "unbilled",
                  "partially_billed"
                ],
                "title": "PurchaseOrderBilledStatus",
                "type": "string"
              },
              "title": "Billed Status",
              "type": "array",
              "uniqueItems": true
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "q": "updated_at__gte",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "q": "updated_at__lte",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "description": "Number of records to return per page (capped at 100)",
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to return per page (capped at 100)"
          },
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "description": "Number of records to skip before starting to return results",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to skip before starting to return results"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedPublicPurchaseOrderItemOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a paginated list of lines for a specific PurchaseOrderV2 record, ordered by position.",
        "tags": [
          "Purchase Orders"
        ]
      }
    },
    "/public/v2/customer-prepayments/": {
      "get": {
        "operationId": "list_CustomerPrepayment_records",
        "summary": "List CustomerPrepayment records",
        "parameters": [
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "id",
            "schema": {
              "q": "id__in",
              "title": "Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "q": "company_id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "q": "number__in",
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "customer_id",
            "schema": {
              "q": "customer_id__in",
              "title": "Customer Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "start_date",
            "schema": {
              "q": "transaction__date__gte",
              "title": "Start Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "end_date",
            "schema": {
              "q": "transaction__date__lte",
              "title": "End Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "transaction_currency",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemCurrencies"
                },
                {
                  "type": "null"
                }
              ],
              "q": "transaction__currency_iso_4217_code"
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "q": "transaction__record_status__in",
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "q": "updated_at__gte",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "q": "updated_at__lte",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "ordering",
            "schema": {
              "default": "id",
              "title": "Ordering",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "description": "Number of records to return per page (capped at 100)",
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to return per page (capped at 100)"
          },
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "description": "Number of records to skip before starting to return results",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to skip before starting to return results"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedPublicCustomerPrepaymentSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a paginated list of CustomerPrepayment records with filtering and ordering options.",
        "tags": [
          "Customer Prepayments"
        ]
      },
      "post": {
        "operationId": "create_CustomerPrepayment_record",
        "summary": "Create CustomerPrepayment record",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCustomerPrepaymentSchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Create a new CustomerPrepayment record with the provided data. Validates all required fields and business rules.",
        "tags": [
          "Customer Prepayments"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicCustomerPrepaymentSchemaCreateIn"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v2/customer-prepayments/{record_number}/": {
      "get": {
        "operationId": "get_CustomerPrepayment_record",
        "summary": "Get CustomerPrepayment record",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "id",
            "schema": {
              "q": "id__in",
              "title": "Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "q": "company_id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "q": "number__in",
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "customer_id",
            "schema": {
              "q": "customer_id__in",
              "title": "Customer Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "start_date",
            "schema": {
              "q": "transaction__date__gte",
              "title": "Start Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "end_date",
            "schema": {
              "q": "transaction__date__lte",
              "title": "End Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "transaction_currency",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemCurrencies"
                },
                {
                  "type": "null"
                }
              ],
              "q": "transaction__currency_iso_4217_code"
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "q": "transaction__record_status__in",
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "q": "updated_at__gte",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "q": "updated_at__lte",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCustomerPrepaymentSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a specific CustomerPrepayment record by its record number with all related data.",
        "tags": [
          "Customer Prepayments"
        ]
      },
      "put": {
        "operationId": "update_CustomerPrepayment_record",
        "summary": "Update CustomerPrepayment record",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCustomerPrepaymentSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Update an existing CustomerPrepayment record with the provided data. Validates all required fields and business rules.",
        "tags": [
          "Customer Prepayments"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicCustomerPrepaymentSchemaUpdateIn"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v2/customer-prepayments/{record_number}/attachments/": {
      "post": {
        "operationId": "create_CustomerPrepayment_record_attachments",
        "summary": "Create CustomerPrepayment record attachments",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCustomerPrepaymentSchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Upload attachments to a CustomerPrepayment record.",
        "tags": [
          "Customer Prepayments"
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "properties": {
                  "files": {
                    "items": {
                      "format": "binary",
                      "type": "string"
                    },
                    "title": "Files",
                    "type": "array"
                  }
                },
                "required": [
                  "files"
                ],
                "title": "FileParams",
                "type": "object"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v2/customer-prepayment-applications/": {
      "get": {
        "operationId": "list_CustomerPrepaymentApplicationV2_records",
        "summary": "List CustomerPrepaymentApplicationV2 records",
        "parameters": [
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "q": "company_id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "q": "number__in",
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "customer_id",
            "schema": {
              "q": "customer_prepayment_application_lines__invoice__customer_id__in",
              "title": "Customer Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "start_date",
            "schema": {
              "q": "transaction__date__gte",
              "title": "Start Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "end_date",
            "schema": {
              "q": "transaction__date__lte",
              "title": "End Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "transaction_currency",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemCurrencies"
                },
                {
                  "type": "null"
                }
              ],
              "q": "transaction__currency_iso_4217_code"
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "q": "transaction__record_status__in",
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "q": "updated_at__gte",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "q": "updated_at__lte",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "ordering",
            "schema": {
              "default": "id",
              "title": "Ordering",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "description": "Number of records to return per page (capped at 100)",
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to return per page (capped at 100)"
          },
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "description": "Number of records to skip before starting to return results",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to skip before starting to return results"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedPublicCustomerPrepaymentApplicationV2ListSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a paginated list of CustomerPrepaymentApplicationV2 records with filtering and ordering options.",
        "tags": [
          "Customer Prepayment Applications"
        ]
      },
      "post": {
        "operationId": "create_CustomerPrepaymentApplicationV2_record",
        "summary": "Create CustomerPrepaymentApplicationV2 record",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCustomerPrepaymentApplicationV2SchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Create a new CustomerPrepaymentApplicationV2 record with the provided data. Validates all required fields and business rules.",
        "tags": [
          "Customer Prepayment Applications"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicCustomerPrepaymentApplicationSchemaCreateIn"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v2/customer-prepayment-applications/{record_number}/": {
      "get": {
        "operationId": "get_CustomerPrepaymentApplicationV2_record",
        "summary": "Get CustomerPrepaymentApplicationV2 record",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "q": "company_id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "q": "number__in",
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "customer_id",
            "schema": {
              "q": "customer_prepayment_application_lines__invoice__customer_id__in",
              "title": "Customer Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "start_date",
            "schema": {
              "q": "transaction__date__gte",
              "title": "Start Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "end_date",
            "schema": {
              "q": "transaction__date__lte",
              "title": "End Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "transaction_currency",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemCurrencies"
                },
                {
                  "type": "null"
                }
              ],
              "q": "transaction__currency_iso_4217_code"
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "q": "transaction__record_status__in",
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "q": "updated_at__gte",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "q": "updated_at__lte",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCustomerPrepaymentApplicationV2SchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a specific CustomerPrepaymentApplicationV2 record by its record number with all related data.",
        "tags": [
          "Customer Prepayment Applications"
        ]
      },
      "put": {
        "operationId": "update_CustomerPrepaymentApplicationV2_record",
        "summary": "Update CustomerPrepaymentApplicationV2 record",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCustomerPrepaymentApplicationV2SchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Update an existing CustomerPrepaymentApplicationV2 record with the provided data. Validates all required fields and business rules.",
        "tags": [
          "Customer Prepayment Applications"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicCustomerPrepaymentApplicationSchemaUpdateIn"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v2/customer-prepayment-applications/{record_number}/attachments/": {
      "post": {
        "operationId": "create_CustomerPrepaymentApplicationV2_record_attachments",
        "summary": "Create CustomerPrepaymentApplicationV2 record attachments",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCustomerPrepaymentApplicationV2SchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Upload attachments to a CustomerPrepaymentApplicationV2 record.",
        "tags": [
          "Customer Prepayment Applications"
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "properties": {
                  "files": {
                    "items": {
                      "format": "binary",
                      "type": "string"
                    },
                    "title": "Files",
                    "type": "array"
                  }
                },
                "required": [
                  "files"
                ],
                "title": "FileParams",
                "type": "object"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v2/customer-prepayment-applications/{record_number}/lines/": {
      "get": {
        "operationId": "list_CustomerPrepaymentApplicationV2_record_lines",
        "summary": "List CustomerPrepaymentApplicationV2 record lines",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "q": "company_id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "q": "number__in",
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "customer_id",
            "schema": {
              "q": "customer_prepayment_application_lines__invoice__customer_id__in",
              "title": "Customer Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "start_date",
            "schema": {
              "q": "transaction__date__gte",
              "title": "Start Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "end_date",
            "schema": {
              "q": "transaction__date__lte",
              "title": "End Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "transaction_currency",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemCurrencies"
                },
                {
                  "type": "null"
                }
              ],
              "q": "transaction__currency_iso_4217_code"
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "q": "transaction__record_status__in",
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "q": "updated_at__gte",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "q": "updated_at__lte",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "description": "Number of records to return per page (capped at 100)",
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to return per page (capped at 100)"
          },
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "description": "Number of records to skip before starting to return results",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to skip before starting to return results"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedPublicCustomerPrepaymentApplicationItemOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a paginated list of lines for a specific CustomerPrepaymentApplicationV2 record, ordered by position.",
        "tags": [
          "Customer Prepayment Applications"
        ]
      }
    },
    "/public/v2/customer-deposits/": {
      "get": {
        "operationId": "list_CustomerDepositV2_records",
        "summary": "List CustomerDepositV2 records",
        "parameters": [
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "q": "company_id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "q": "number__in",
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "customer_id",
            "schema": {
              "q": "customer_deposit_lines__customer_id__in",
              "title": "Customer Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "start_date",
            "schema": {
              "q": "transaction__date__gte",
              "title": "Start Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "end_date",
            "schema": {
              "q": "transaction__date__lte",
              "title": "End Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "transaction_currency",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemCurrencies"
                },
                {
                  "type": "null"
                }
              ],
              "q": "transaction__currency_iso_4217_code"
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "q": "transaction__record_status__in",
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "q": "updated_at__gte",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "q": "updated_at__lte",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "ordering",
            "schema": {
              "default": "id",
              "title": "Ordering",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "description": "Number of records to return per page (capped at 100)",
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to return per page (capped at 100)"
          },
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "description": "Number of records to skip before starting to return results",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to skip before starting to return results"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedPublicCustomerDepositV2ListSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a paginated list of CustomerDepositV2 records with filtering and ordering options.",
        "tags": [
          "Customer Deposits"
        ]
      },
      "post": {
        "operationId": "create_CustomerDepositV2_record",
        "summary": "Create CustomerDepositV2 record",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCustomerDepositV2SchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Create a new CustomerDepositV2 record with the provided data. Validates all required fields and business rules.",
        "tags": [
          "Customer Deposits"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicCustomerDepositSchemaCreateIn"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v2/customer-deposits/{record_number}/": {
      "get": {
        "operationId": "get_CustomerDepositV2_record",
        "summary": "Get CustomerDepositV2 record",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "q": "company_id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "q": "number__in",
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "customer_id",
            "schema": {
              "q": "customer_deposit_lines__customer_id__in",
              "title": "Customer Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "start_date",
            "schema": {
              "q": "transaction__date__gte",
              "title": "Start Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "end_date",
            "schema": {
              "q": "transaction__date__lte",
              "title": "End Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "transaction_currency",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemCurrencies"
                },
                {
                  "type": "null"
                }
              ],
              "q": "transaction__currency_iso_4217_code"
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "q": "transaction__record_status__in",
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "q": "updated_at__gte",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "q": "updated_at__lte",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCustomerDepositV2SchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a specific CustomerDepositV2 record by its record number with all related data.",
        "tags": [
          "Customer Deposits"
        ]
      },
      "put": {
        "operationId": "update_CustomerDepositV2_record",
        "summary": "Update CustomerDepositV2 record",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCustomerDepositV2SchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Update an existing CustomerDepositV2 record with the provided data. Validates all required fields and business rules.",
        "tags": [
          "Customer Deposits"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicCustomerDepositSchemaUpdateIn"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v2/customer-deposits/{record_number}/attachments/": {
      "post": {
        "operationId": "create_CustomerDepositV2_record_attachments",
        "summary": "Create CustomerDepositV2 record attachments",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCustomerDepositV2SchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Upload attachments to a CustomerDepositV2 record.",
        "tags": [
          "Customer Deposits"
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "properties": {
                  "files": {
                    "items": {
                      "format": "binary",
                      "type": "string"
                    },
                    "title": "Files",
                    "type": "array"
                  }
                },
                "required": [
                  "files"
                ],
                "title": "FileParams",
                "type": "object"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v2/customer-deposits/{record_number}/lines/": {
      "get": {
        "operationId": "list_CustomerDepositV2_record_lines",
        "summary": "List CustomerDepositV2 record lines",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "q": "company_id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "q": "number__in",
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "customer_id",
            "schema": {
              "q": "customer_deposit_lines__customer_id__in",
              "title": "Customer Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "start_date",
            "schema": {
              "q": "transaction__date__gte",
              "title": "Start Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "end_date",
            "schema": {
              "q": "transaction__date__lte",
              "title": "End Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "transaction_currency",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemCurrencies"
                },
                {
                  "type": "null"
                }
              ],
              "q": "transaction__currency_iso_4217_code"
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "q": "transaction__record_status__in",
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "q": "updated_at__gte",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "q": "updated_at__lte",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "description": "Number of records to return per page (capped at 100)",
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to return per page (capped at 100)"
          },
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "description": "Number of records to skip before starting to return results",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to skip before starting to return results"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedPublicCustomerDepositItemOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a paginated list of lines for a specific CustomerDepositV2 record, ordered by position.",
        "tags": [
          "Customer Deposits"
        ]
      }
    },
    "/public/v2/customer-refunds/": {
      "get": {
        "operationId": "list_CustomerRefund_records",
        "summary": "List CustomerRefund records",
        "parameters": [
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "q": "company_id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "q": "number__in",
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "customer_id",
            "schema": {
              "q": "customer_id__in",
              "title": "Customer Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "start_date",
            "schema": {
              "q": "transaction__date__gte",
              "title": "Start Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "end_date",
            "schema": {
              "q": "transaction__date__lte",
              "title": "End Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "transaction_currency",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemCurrencies"
                },
                {
                  "type": "null"
                }
              ],
              "q": "transaction__currency_iso_4217_code"
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "q": "transaction__record_status__in",
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "q": "updated_at__gte",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "q": "updated_at__lte",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "ordering",
            "schema": {
              "default": "id",
              "title": "Ordering",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "description": "Number of records to return per page (capped at 100)",
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to return per page (capped at 100)"
          },
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "description": "Number of records to skip before starting to return results",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to skip before starting to return results"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedPublicCustomerRefundSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a paginated list of CustomerRefund records with filtering and ordering options.",
        "tags": [
          "Customer Refunds"
        ]
      },
      "post": {
        "operationId": "create_CustomerRefund_record",
        "summary": "Create CustomerRefund record",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCustomerRefundSchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Create a new CustomerRefund record with the provided data. Validates all required fields and business rules.",
        "tags": [
          "Customer Refunds"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicCustomerRefundSchemaCreateIn"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v2/customer-refunds/{record_number}/": {
      "get": {
        "operationId": "get_CustomerRefund_record",
        "summary": "Get CustomerRefund record",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "q": "company_id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "q": "number__in",
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "customer_id",
            "schema": {
              "q": "customer_id__in",
              "title": "Customer Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "start_date",
            "schema": {
              "q": "transaction__date__gte",
              "title": "Start Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "end_date",
            "schema": {
              "q": "transaction__date__lte",
              "title": "End Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "transaction_currency",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemCurrencies"
                },
                {
                  "type": "null"
                }
              ],
              "q": "transaction__currency_iso_4217_code"
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "q": "transaction__record_status__in",
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "q": "updated_at__gte",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "q": "updated_at__lte",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCustomerRefundSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a specific CustomerRefund record by its record number with all related data.",
        "tags": [
          "Customer Refunds"
        ]
      },
      "put": {
        "operationId": "update_CustomerRefund_record",
        "summary": "Update CustomerRefund record",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCustomerRefundSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Update an existing CustomerRefund record with the provided data. Validates all required fields and business rules.",
        "tags": [
          "Customer Refunds"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicCustomerRefundSchemaUpdateIn"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v2/customer-refunds/{record_number}/attachments/": {
      "post": {
        "operationId": "create_CustomerRefund_record_attachments",
        "summary": "Create CustomerRefund record attachments",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCustomerRefundSchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Upload attachments to a CustomerRefund record.",
        "tags": [
          "Customer Refunds"
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "properties": {
                  "files": {
                    "items": {
                      "format": "binary",
                      "type": "string"
                    },
                    "title": "Files",
                    "type": "array"
                  }
                },
                "required": [
                  "files"
                ],
                "title": "FileParams",
                "type": "object"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v2/customer-credits/": {
      "get": {
        "operationId": "list_CustomerCreditV2_records",
        "summary": "List CustomerCreditV2 records",
        "parameters": [
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "q": "company_id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "q": "number__in",
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "customer_id",
            "schema": {
              "q": "customer_id__in",
              "title": "Customer Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "start_date",
            "schema": {
              "q": "transaction__date__gte",
              "title": "Start Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "end_date",
            "schema": {
              "q": "transaction__date__lte",
              "title": "End Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "transaction_currency",
            "schema": {
              "q": "transaction__currency_iso_4217_code__in",
              "title": "Transaction Currency",
              "items": {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "q": "transaction__record_status__in",
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "q": "updated_at__gte",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "q": "updated_at__lte",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "ordering",
            "schema": {
              "default": "id",
              "title": "Ordering",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "description": "Number of records to return per page (capped at 100)",
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to return per page (capped at 100)"
          },
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "description": "Number of records to skip before starting to return results",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to skip before starting to return results"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedPublicCustomerCreditV2ListSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a paginated list of CustomerCreditV2 records with filtering and ordering options.",
        "tags": [
          "Customer Credits"
        ]
      },
      "post": {
        "operationId": "create_CustomerCreditV2_record",
        "summary": "Create CustomerCreditV2 record",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCustomerCreditV2SchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Create a new CustomerCreditV2 record with the provided data. Validates all required fields and business rules.",
        "tags": [
          "Customer Credits"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicCustomerCreditSchemaCreateIn"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v2/customer-credits/{record_number}/": {
      "get": {
        "operationId": "get_CustomerCreditV2_record",
        "summary": "Get CustomerCreditV2 record",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "q": "company_id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "q": "number__in",
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "customer_id",
            "schema": {
              "q": "customer_id__in",
              "title": "Customer Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "start_date",
            "schema": {
              "q": "transaction__date__gte",
              "title": "Start Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "end_date",
            "schema": {
              "q": "transaction__date__lte",
              "title": "End Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "transaction_currency",
            "schema": {
              "q": "transaction__currency_iso_4217_code__in",
              "title": "Transaction Currency",
              "items": {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "q": "transaction__record_status__in",
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "q": "updated_at__gte",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "q": "updated_at__lte",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCustomerCreditV2SchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a specific CustomerCreditV2 record by its record number with all related data.",
        "tags": [
          "Customer Credits"
        ]
      },
      "put": {
        "operationId": "update_CustomerCreditV2_record",
        "summary": "Update CustomerCreditV2 record",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCustomerCreditV2SchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Update an existing CustomerCreditV2 record with the provided data. Validates all required fields and business rules.",
        "tags": [
          "Customer Credits"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicCustomerCreditSchemaUpdateIn"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v2/customer-credits/{record_number}/lines/": {
      "get": {
        "operationId": "list_CustomerCreditV2_record_lines",
        "summary": "List CustomerCreditV2 record lines",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "q": "company_id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "q": "number__in",
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "customer_id",
            "schema": {
              "q": "customer_id__in",
              "title": "Customer Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "start_date",
            "schema": {
              "q": "transaction__date__gte",
              "title": "Start Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "end_date",
            "schema": {
              "q": "transaction__date__lte",
              "title": "End Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "transaction_currency",
            "schema": {
              "q": "transaction__currency_iso_4217_code__in",
              "title": "Transaction Currency",
              "items": {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "q": "transaction__record_status__in",
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "q": "updated_at__gte",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "q": "updated_at__lte",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "description": "Number of records to return per page (capped at 100)",
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to return per page (capped at 100)"
          },
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "description": "Number of records to skip before starting to return results",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to skip before starting to return results"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedPublicCustomerCreditItemOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a paginated list of lines for a specific CustomerCreditV2 record, ordered by position.",
        "tags": [
          "Customer Credits"
        ]
      }
    },
    "/public/v2/cash-sales/": {
      "get": {
        "operationId": "list_CashSaleV2_records",
        "summary": "List CashSaleV2 records",
        "parameters": [
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "q": "company_id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "q": "number__in",
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "customer_id",
            "schema": {
              "q": "customer_id__in",
              "title": "Customer Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "start_date",
            "schema": {
              "q": "transaction__date__gte",
              "title": "Start Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "end_date",
            "schema": {
              "q": "transaction__date__lte",
              "title": "End Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "transaction_currency",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemCurrencies"
                },
                {
                  "type": "null"
                }
              ],
              "q": "transaction__currency_iso_4217_code"
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "q": "transaction__record_status__in",
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "q": "updated_at__gte",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "q": "updated_at__lte",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "ordering",
            "schema": {
              "default": "id",
              "title": "Ordering",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "description": "Number of records to return per page (capped at 100)",
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to return per page (capped at 100)"
          },
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "description": "Number of records to skip before starting to return results",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to skip before starting to return results"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedPublicCashSaleV2ListSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a paginated list of CashSaleV2 records with filtering and ordering options.",
        "tags": [
          "Cash Sales"
        ]
      },
      "post": {
        "operationId": "create_CashSaleV2_record",
        "summary": "Create CashSaleV2 record",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCashSaleV2SchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Create a new CashSaleV2 record with the provided data. Validates all required fields and business rules.",
        "tags": [
          "Cash Sales"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicCashSaleSchemaCreateIn"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v2/cash-sales/{record_number}/": {
      "get": {
        "operationId": "get_CashSaleV2_record",
        "summary": "Get CashSaleV2 record",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "q": "company_id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "q": "number__in",
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "customer_id",
            "schema": {
              "q": "customer_id__in",
              "title": "Customer Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "start_date",
            "schema": {
              "q": "transaction__date__gte",
              "title": "Start Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "end_date",
            "schema": {
              "q": "transaction__date__lte",
              "title": "End Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "transaction_currency",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemCurrencies"
                },
                {
                  "type": "null"
                }
              ],
              "q": "transaction__currency_iso_4217_code"
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "q": "transaction__record_status__in",
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "q": "updated_at__gte",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "q": "updated_at__lte",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCashSaleV2SchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a specific CashSaleV2 record by its record number with all related data.",
        "tags": [
          "Cash Sales"
        ]
      },
      "put": {
        "operationId": "update_CashSaleV2_record",
        "summary": "Update CashSaleV2 record",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCashSaleV2SchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Update an existing CashSaleV2 record with the provided data. Validates all required fields and business rules.",
        "tags": [
          "Cash Sales"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicCashSaleSchemaUpdateIn"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v2/cash-sales/{record_number}/attachments/": {
      "post": {
        "operationId": "create_CashSaleV2_record_attachments",
        "summary": "Create CashSaleV2 record attachments",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCashSaleV2SchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Upload attachments to a CashSaleV2 record.",
        "tags": [
          "Cash Sales"
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "properties": {
                  "files": {
                    "items": {
                      "format": "binary",
                      "type": "string"
                    },
                    "title": "Files",
                    "type": "array"
                  }
                },
                "required": [
                  "files"
                ],
                "title": "FileParams",
                "type": "object"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v2/cash-sales/{record_number}/lines/": {
      "get": {
        "operationId": "list_CashSaleV2_record_lines",
        "summary": "List CashSaleV2 record lines",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "q": "company_id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "q": "number__in",
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "customer_id",
            "schema": {
              "q": "customer_id__in",
              "title": "Customer Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "start_date",
            "schema": {
              "q": "transaction__date__gte",
              "title": "Start Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "end_date",
            "schema": {
              "q": "transaction__date__lte",
              "title": "End Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "transaction_currency",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemCurrencies"
                },
                {
                  "type": "null"
                }
              ],
              "q": "transaction__currency_iso_4217_code"
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "q": "transaction__record_status__in",
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "q": "updated_at__gte",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "q": "updated_at__lte",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "description": "Number of records to return per page (capped at 100)",
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to return per page (capped at 100)"
          },
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "description": "Number of records to skip before starting to return results",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to skip before starting to return results"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedPublicCashSaleItemOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a paginated list of lines for a specific CashSaleV2 record, ordered by position.",
        "tags": [
          "Cash Sales"
        ]
      }
    },
    "/public/v2/customer-payments/": {
      "get": {
        "operationId": "list_CustomerPaymentV2_records",
        "summary": "List CustomerPaymentV2 records",
        "parameters": [
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "q": "company_id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "q": "number__in",
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "customer_id",
            "schema": {
              "title": "Customer Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "start_date",
            "schema": {
              "q": "transaction__date__gte",
              "title": "Start Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "end_date",
            "schema": {
              "q": "transaction__date__lte",
              "title": "End Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "transaction_currency",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemCurrencies"
                },
                {
                  "type": "null"
                }
              ],
              "q": "transaction__currency_iso_4217_code"
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "q": "transaction__record_status__in",
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "invoice_number",
            "schema": {
              "q": "customer_payment_lines__invoice__number__in",
              "title": "Invoice Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "customer_credit_number",
            "schema": {
              "q": "customer_payment_lines__customer_credit__number__in",
              "title": "Customer Credit Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "q": "updated_at__gte",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "q": "updated_at__lte",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "ordering",
            "schema": {
              "default": "id",
              "title": "Ordering",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "description": "Number of records to return per page (capped at 100)",
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to return per page (capped at 100)"
          },
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "description": "Number of records to skip before starting to return results",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to skip before starting to return results"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedPublicCustomerPaymentV2ListSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a paginated list of CustomerPaymentV2 records with filtering and ordering options.",
        "tags": [
          "Customer Payments"
        ]
      },
      "post": {
        "operationId": "create_CustomerPaymentV2_record",
        "summary": "Create CustomerPaymentV2 record",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCustomerPaymentV2SchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Create a new CustomerPaymentV2 record with the provided data. Validates all required fields and business rules.",
        "tags": [
          "Customer Payments"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicCustomerPaymentSchemaCreateIn"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v2/customer-payments/{record_number}/": {
      "get": {
        "operationId": "get_CustomerPaymentV2_record",
        "summary": "Get CustomerPaymentV2 record",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "q": "company_id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "q": "number__in",
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "customer_id",
            "schema": {
              "title": "Customer Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "start_date",
            "schema": {
              "q": "transaction__date__gte",
              "title": "Start Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "end_date",
            "schema": {
              "q": "transaction__date__lte",
              "title": "End Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "transaction_currency",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemCurrencies"
                },
                {
                  "type": "null"
                }
              ],
              "q": "transaction__currency_iso_4217_code"
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "q": "transaction__record_status__in",
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "invoice_number",
            "schema": {
              "q": "customer_payment_lines__invoice__number__in",
              "title": "Invoice Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "customer_credit_number",
            "schema": {
              "q": "customer_payment_lines__customer_credit__number__in",
              "title": "Customer Credit Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "q": "updated_at__gte",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "q": "updated_at__lte",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCustomerPaymentV2SchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a specific CustomerPaymentV2 record by its record number with all related data.",
        "tags": [
          "Customer Payments"
        ]
      },
      "put": {
        "operationId": "update_CustomerPaymentV2_record",
        "summary": "Update CustomerPaymentV2 record",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCustomerPaymentV2SchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Update an existing CustomerPaymentV2 record with the provided data. Validates all required fields and business rules.",
        "tags": [
          "Customer Payments"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicCustomerPaymentSchemaUpdateIn"
              }
            }
          },
          "required": true
        }
      },
      "patch": {
        "operationId": "patch_CustomerPaymentV2_record",
        "summary": "Update CustomerPaymentV2 record (partial)",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCustomerPaymentV2SchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Partially update an existing CustomerPaymentV2 record. Send only the fields you want to change — anything you don't send stays as it is. Updates are subject to the same constraints as the full update endpoint: period locks, payment-applied restrictions, and approval-workflow rules apply.",
        "tags": [
          "Customer Payments"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicCustomerPaymentSchemaPatchIn"
              }
            }
          },
          "required": true
        },
        "x-mint": {
          "metadata": {
            "description": "Partially update an existing CustomerPaymentV2 record."
          }
        }
      }
    },
    "/public/v2/customer-payments/{record_number}/lines/": {
      "get": {
        "operationId": "list_CustomerPaymentV2_record_lines",
        "summary": "List CustomerPaymentV2 record lines",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "q": "company_id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "q": "number__in",
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "customer_id",
            "schema": {
              "title": "Customer Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "start_date",
            "schema": {
              "q": "transaction__date__gte",
              "title": "Start Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "end_date",
            "schema": {
              "q": "transaction__date__lte",
              "title": "End Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "transaction_currency",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemCurrencies"
                },
                {
                  "type": "null"
                }
              ],
              "q": "transaction__currency_iso_4217_code"
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "q": "transaction__record_status__in",
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "invoice_number",
            "schema": {
              "q": "customer_payment_lines__invoice__number__in",
              "title": "Invoice Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "customer_credit_number",
            "schema": {
              "q": "customer_payment_lines__customer_credit__number__in",
              "title": "Customer Credit Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "q": "updated_at__gte",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "q": "updated_at__lte",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "description": "Number of records to return per page (capped at 100)",
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to return per page (capped at 100)"
          },
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "description": "Number of records to skip before starting to return results",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to skip before starting to return results"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedPublicCustomerPaymentItemOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a paginated list of lines for a specific CustomerPaymentV2 record, ordered by position.",
        "tags": [
          "Customer Payments"
        ]
      }
    },
    "/public/v2/vendor-payments/": {
      "get": {
        "operationId": "list_VendorPaymentV2_records",
        "summary": "List VendorPaymentV2 records",
        "parameters": [
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "q": "company_id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "q": "number__in",
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "vendor_id",
            "schema": {
              "title": "Vendor Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "start_date",
            "schema": {
              "q": "transaction__date__gte",
              "title": "Start Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "end_date",
            "schema": {
              "q": "transaction__date__lte",
              "title": "End Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "transaction_currency",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemCurrencies"
                },
                {
                  "type": "null"
                }
              ],
              "q": "transaction__currency_iso_4217_code"
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "q": "transaction__record_status__in",
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "bill_number",
            "schema": {
              "q": "vendor_payment_lines__bill__number__in",
              "title": "Bill Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "vendor_credit_number",
            "schema": {
              "q": "vendor_payment_lines__vendor_credit__number__in",
              "title": "Vendor Credit Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "q": "updated_at__gte",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "q": "updated_at__lte",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "ordering",
            "schema": {
              "default": "id",
              "title": "Ordering",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "description": "Number of records to return per page (capped at 100)",
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to return per page (capped at 100)"
          },
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "description": "Number of records to skip before starting to return results",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to skip before starting to return results"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedPublicVendorPaymentV2ListSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a paginated list of VendorPaymentV2 records with filtering and ordering options.",
        "tags": [
          "Vendor Payments"
        ]
      },
      "post": {
        "operationId": "create_VendorPaymentV2_record",
        "summary": "Create VendorPaymentV2 record",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicVendorPaymentV2SchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Create a new VendorPaymentV2 record with the provided data. Validates all required fields and business rules.",
        "tags": [
          "Vendor Payments"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicVendorPaymentSchemaCreateIn"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v2/vendor-payments/{record_number}/": {
      "get": {
        "operationId": "get_VendorPaymentV2_record",
        "summary": "Get VendorPaymentV2 record",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "q": "company_id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "q": "number__in",
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "vendor_id",
            "schema": {
              "title": "Vendor Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "start_date",
            "schema": {
              "q": "transaction__date__gte",
              "title": "Start Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "end_date",
            "schema": {
              "q": "transaction__date__lte",
              "title": "End Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "transaction_currency",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemCurrencies"
                },
                {
                  "type": "null"
                }
              ],
              "q": "transaction__currency_iso_4217_code"
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "q": "transaction__record_status__in",
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "bill_number",
            "schema": {
              "q": "vendor_payment_lines__bill__number__in",
              "title": "Bill Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "vendor_credit_number",
            "schema": {
              "q": "vendor_payment_lines__vendor_credit__number__in",
              "title": "Vendor Credit Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "q": "updated_at__gte",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "q": "updated_at__lte",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicVendorPaymentV2SchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a specific VendorPaymentV2 record by its record number with all related data.",
        "tags": [
          "Vendor Payments"
        ]
      },
      "put": {
        "operationId": "update_VendorPaymentV2_record",
        "summary": "Update VendorPaymentV2 record",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicVendorPaymentV2SchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Update an existing VendorPaymentV2 record with the provided data. Validates all required fields and business rules.",
        "tags": [
          "Vendor Payments"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicVendorPaymentSchemaUpdateIn"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v2/vendor-payments/{record_number}/lines/": {
      "get": {
        "operationId": "list_VendorPaymentV2_record_lines",
        "summary": "List VendorPaymentV2 record lines",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "q": "company_id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "q": "number__in",
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "vendor_id",
            "schema": {
              "title": "Vendor Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "start_date",
            "schema": {
              "q": "transaction__date__gte",
              "title": "Start Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "end_date",
            "schema": {
              "q": "transaction__date__lte",
              "title": "End Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "transaction_currency",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemCurrencies"
                },
                {
                  "type": "null"
                }
              ],
              "q": "transaction__currency_iso_4217_code"
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "q": "transaction__record_status__in",
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "bill_number",
            "schema": {
              "q": "vendor_payment_lines__bill__number__in",
              "title": "Bill Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "vendor_credit_number",
            "schema": {
              "q": "vendor_payment_lines__vendor_credit__number__in",
              "title": "Vendor Credit Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "q": "updated_at__gte",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "q": "updated_at__lte",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "description": "Number of records to return per page (capped at 100)",
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to return per page (capped at 100)"
          },
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "description": "Number of records to skip before starting to return results",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to skip before starting to return results"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedPublicVendorPaymentItemOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a paginated list of lines for a specific VendorPaymentV2 record, ordered by position.",
        "tags": [
          "Vendor Payments"
        ]
      }
    },
    "/public/v2/vendor-prepayments/": {
      "get": {
        "operationId": "list_VendorPrepayment_records",
        "summary": "List VendorPrepayment records",
        "parameters": [
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "q": "company_id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "q": "number__in",
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "vendor_id",
            "schema": {
              "q": "vendor_id__in",
              "title": "Vendor Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "start_date",
            "schema": {
              "q": "transaction__date__gte",
              "title": "Start Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "end_date",
            "schema": {
              "q": "transaction__date__lte",
              "title": "End Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "transaction_currency",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemCurrencies"
                },
                {
                  "type": "null"
                }
              ],
              "q": "transaction__currency_iso_4217_code"
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "q": "transaction__record_status__in",
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "recurring_record_id",
            "schema": {
              "q": "recurring_record_id__in",
              "title": "Recurring Record Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "q": "updated_at__gte",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "q": "updated_at__lte",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "ordering",
            "schema": {
              "default": "id",
              "title": "Ordering",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "description": "Number of records to return per page (capped at 100)",
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to return per page (capped at 100)"
          },
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "description": "Number of records to skip before starting to return results",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to skip before starting to return results"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedPublicVendorPrepaymentSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a paginated list of VendorPrepayment records with filtering and ordering options.",
        "tags": [
          "Vendor Prepayments"
        ]
      },
      "post": {
        "operationId": "create_VendorPrepayment_record",
        "summary": "Create VendorPrepayment record",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicVendorPrepaymentSchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Create a new VendorPrepayment record with the provided data. Validates all required fields and business rules.",
        "tags": [
          "Vendor Prepayments"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicVendorPrepaymentSchemaCreateIn"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v2/vendor-prepayments/{record_number}/": {
      "get": {
        "operationId": "get_VendorPrepayment_record",
        "summary": "Get VendorPrepayment record",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "q": "company_id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "q": "number__in",
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "vendor_id",
            "schema": {
              "q": "vendor_id__in",
              "title": "Vendor Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "start_date",
            "schema": {
              "q": "transaction__date__gte",
              "title": "Start Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "end_date",
            "schema": {
              "q": "transaction__date__lte",
              "title": "End Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "transaction_currency",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemCurrencies"
                },
                {
                  "type": "null"
                }
              ],
              "q": "transaction__currency_iso_4217_code"
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "q": "transaction__record_status__in",
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "recurring_record_id",
            "schema": {
              "q": "recurring_record_id__in",
              "title": "Recurring Record Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "q": "updated_at__gte",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "q": "updated_at__lte",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicVendorPrepaymentSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a specific VendorPrepayment record by its record number with all related data.",
        "tags": [
          "Vendor Prepayments"
        ]
      },
      "put": {
        "operationId": "update_VendorPrepayment_record",
        "summary": "Update VendorPrepayment record",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicVendorPrepaymentSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Update an existing VendorPrepayment record with the provided data. Validates all required fields and business rules.",
        "tags": [
          "Vendor Prepayments"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicVendorPrepaymentSchemaUpdateIn"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v2/vendor-prepayment-applications/": {
      "get": {
        "operationId": "list_VendorPrepaymentApplicationV2_records",
        "summary": "List VendorPrepaymentApplicationV2 records",
        "parameters": [
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "q": "company_id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "q": "number__in",
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "vendor_id",
            "schema": {
              "q": "vendor_prepayment_application_lines__bill__vendor_id__in",
              "title": "Vendor Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "start_date",
            "schema": {
              "q": "transaction__date__gte",
              "title": "Start Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "end_date",
            "schema": {
              "q": "transaction__date__lte",
              "title": "End Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "transaction_currency",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemCurrencies"
                },
                {
                  "type": "null"
                }
              ],
              "q": "transaction__currency_iso_4217_code"
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "q": "transaction__record_status__in",
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "bill_id",
            "schema": {
              "q": "vendor_prepayment_application_lines__bill_id__in",
              "title": "Bill Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "q": "updated_at__gte",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "q": "updated_at__lte",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "ordering",
            "schema": {
              "default": "id",
              "title": "Ordering",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "description": "Number of records to return per page (capped at 100)",
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to return per page (capped at 100)"
          },
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "description": "Number of records to skip before starting to return results",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to skip before starting to return results"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedPublicVendorPrepaymentApplicationV2ListSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a paginated list of VendorPrepaymentApplicationV2 records with filtering and ordering options.",
        "tags": [
          "Vendor Prepayment Applications"
        ]
      },
      "post": {
        "operationId": "create_VendorPrepaymentApplicationV2_record",
        "summary": "Create VendorPrepaymentApplicationV2 record",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicVendorPrepaymentApplicationV2SchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Create a new VendorPrepaymentApplicationV2 record with the provided data. Validates all required fields and business rules.",
        "tags": [
          "Vendor Prepayment Applications"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicVendorPrepaymentApplicationSchemaCreateIn"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v2/vendor-prepayment-applications/{record_number}/": {
      "get": {
        "operationId": "get_VendorPrepaymentApplicationV2_record",
        "summary": "Get VendorPrepaymentApplicationV2 record",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "q": "company_id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "q": "number__in",
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "vendor_id",
            "schema": {
              "q": "vendor_prepayment_application_lines__bill__vendor_id__in",
              "title": "Vendor Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "start_date",
            "schema": {
              "q": "transaction__date__gte",
              "title": "Start Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "end_date",
            "schema": {
              "q": "transaction__date__lte",
              "title": "End Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "transaction_currency",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemCurrencies"
                },
                {
                  "type": "null"
                }
              ],
              "q": "transaction__currency_iso_4217_code"
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "q": "transaction__record_status__in",
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "bill_id",
            "schema": {
              "q": "vendor_prepayment_application_lines__bill_id__in",
              "title": "Bill Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "q": "updated_at__gte",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "q": "updated_at__lte",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicVendorPrepaymentApplicationV2SchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a specific VendorPrepaymentApplicationV2 record by its record number with all related data.",
        "tags": [
          "Vendor Prepayment Applications"
        ]
      },
      "put": {
        "operationId": "update_VendorPrepaymentApplicationV2_record",
        "summary": "Update VendorPrepaymentApplicationV2 record",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicVendorPrepaymentApplicationV2SchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Update an existing VendorPrepaymentApplicationV2 record with the provided data. Validates all required fields and business rules.",
        "tags": [
          "Vendor Prepayment Applications"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicVendorPrepaymentApplicationSchemaUpdateIn"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v2/vendor-prepayment-applications/{record_number}/lines/": {
      "get": {
        "operationId": "list_VendorPrepaymentApplicationV2_record_lines",
        "summary": "List VendorPrepaymentApplicationV2 record lines",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "q": "company_id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "q": "number__in",
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "vendor_id",
            "schema": {
              "q": "vendor_prepayment_application_lines__bill__vendor_id__in",
              "title": "Vendor Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "start_date",
            "schema": {
              "q": "transaction__date__gte",
              "title": "Start Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "end_date",
            "schema": {
              "q": "transaction__date__lte",
              "title": "End Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "transaction_currency",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemCurrencies"
                },
                {
                  "type": "null"
                }
              ],
              "q": "transaction__currency_iso_4217_code"
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "q": "transaction__record_status__in",
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "bill_id",
            "schema": {
              "q": "vendor_prepayment_application_lines__bill_id__in",
              "title": "Bill Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "q": "updated_at__gte",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "q": "updated_at__lte",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "description": "Number of records to return per page (capped at 100)",
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to return per page (capped at 100)"
          },
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "description": "Number of records to skip before starting to return results",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to skip before starting to return results"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedPublicVendorPrepaymentApplicationItemOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a paginated list of lines for a specific VendorPrepaymentApplicationV2 record, ordered by position.",
        "tags": [
          "Vendor Prepayment Applications"
        ]
      }
    },
    "/public/v2/vendor-credits/": {
      "get": {
        "operationId": "list_VendorCreditV2_records",
        "summary": "List VendorCreditV2 records",
        "parameters": [
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "q": "company_id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "q": "number__in",
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "vendor_id",
            "schema": {
              "q": "vendor_id__in",
              "title": "Vendor Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "start_date",
            "schema": {
              "q": "transaction__date__gte",
              "title": "Start Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "end_date",
            "schema": {
              "q": "transaction__date__lte",
              "title": "End Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "transaction_currency",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemCurrencies"
                },
                {
                  "type": "null"
                }
              ],
              "q": "transaction__currency_iso_4217_code"
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "q": "transaction__record_status__in",
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "bill_number",
            "schema": {
              "title": "Bill Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "q": "updated_at__gte",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "q": "updated_at__lte",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "ordering",
            "schema": {
              "default": "id",
              "title": "Ordering",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "description": "Number of records to return per page (capped at 100)",
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to return per page (capped at 100)"
          },
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "description": "Number of records to skip before starting to return results",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to skip before starting to return results"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedPublicVendorCreditV2ListSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a paginated list of VendorCreditV2 records with filtering and ordering options.",
        "tags": [
          "Vendor Credits"
        ]
      },
      "post": {
        "operationId": "create_VendorCreditV2_record",
        "summary": "Create VendorCreditV2 record",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicVendorCreditV2SchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Create a new VendorCreditV2 record with the provided data. Validates all required fields and business rules.",
        "tags": [
          "Vendor Credits"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicVendorCreditSchemaCreateIn"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v2/vendor-credits/{record_number}/": {
      "get": {
        "operationId": "get_VendorCreditV2_record",
        "summary": "Get VendorCreditV2 record",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "q": "company_id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "q": "number__in",
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "vendor_id",
            "schema": {
              "q": "vendor_id__in",
              "title": "Vendor Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "start_date",
            "schema": {
              "q": "transaction__date__gte",
              "title": "Start Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "end_date",
            "schema": {
              "q": "transaction__date__lte",
              "title": "End Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "transaction_currency",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemCurrencies"
                },
                {
                  "type": "null"
                }
              ],
              "q": "transaction__currency_iso_4217_code"
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "q": "transaction__record_status__in",
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "bill_number",
            "schema": {
              "title": "Bill Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "q": "updated_at__gte",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "q": "updated_at__lte",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicVendorCreditV2SchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a specific VendorCreditV2 record by its record number with all related data.",
        "tags": [
          "Vendor Credits"
        ]
      },
      "put": {
        "operationId": "update_VendorCreditV2_record",
        "summary": "Update VendorCreditV2 record",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicVendorCreditV2SchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Update an existing VendorCreditV2 record with the provided data. Validates all required fields and business rules.",
        "tags": [
          "Vendor Credits"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicVendorCreditSchemaUpdateIn"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v2/vendor-credits/{record_number}/lines/": {
      "get": {
        "operationId": "list_VendorCreditV2_record_lines",
        "summary": "List VendorCreditV2 record lines",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "q": "company_id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "q": "number__in",
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "vendor_id",
            "schema": {
              "q": "vendor_id__in",
              "title": "Vendor Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "start_date",
            "schema": {
              "q": "transaction__date__gte",
              "title": "Start Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "end_date",
            "schema": {
              "q": "transaction__date__lte",
              "title": "End Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "transaction_currency",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemCurrencies"
                },
                {
                  "type": "null"
                }
              ],
              "q": "transaction__currency_iso_4217_code"
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "q": "transaction__record_status__in",
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "bill_number",
            "schema": {
              "title": "Bill Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "q": "updated_at__gte",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "q": "updated_at__lte",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "description": "Number of records to return per page (capped at 100)",
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to return per page (capped at 100)"
          },
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "description": "Number of records to skip before starting to return results",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to skip before starting to return results"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedPublicVendorCreditLineOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a paginated list of lines for a specific VendorCreditV2 record, ordered by position.",
        "tags": [
          "Vendor Credits"
        ]
      }
    },
    "/public/v2/vendor-refunds/": {
      "get": {
        "operationId": "list_VendorRefund_records",
        "summary": "List VendorRefund records",
        "parameters": [
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "q": "company_id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "q": "number__in",
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "vendor_id",
            "schema": {
              "q": "vendor_id__in",
              "title": "Vendor Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "vendor_credit_id",
            "schema": {
              "q": "vendor_refund_lines__vendor_credit_id__in",
              "title": "Vendor Credit Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "start_date",
            "schema": {
              "q": "transaction__date__gte",
              "title": "Start Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "end_date",
            "schema": {
              "q": "transaction__date__lte",
              "title": "End Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "transaction_currency",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemCurrencies"
                },
                {
                  "type": "null"
                }
              ],
              "q": "transaction__currency_iso_4217_code"
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "q": "transaction__record_status__in",
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "q": "updated_at__gte",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "q": "updated_at__lte",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "ordering",
            "schema": {
              "default": "id",
              "title": "Ordering",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "description": "Number of records to return per page (capped at 100)",
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to return per page (capped at 100)"
          },
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "description": "Number of records to skip before starting to return results",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to skip before starting to return results"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedPublicVendorRefundSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a paginated list of VendorRefund records with filtering and ordering options.",
        "tags": [
          "Vendor Refunds"
        ]
      },
      "post": {
        "operationId": "create_VendorRefund_record",
        "summary": "Create VendorRefund record",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicVendorRefundSchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Create a new VendorRefund record with the provided data. Validates all required fields and business rules.",
        "tags": [
          "Vendor Refunds"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicVendorRefundSchemaCreateIn"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v2/vendor-refunds/{record_number}/": {
      "get": {
        "operationId": "get_VendorRefund_record",
        "summary": "Get VendorRefund record",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "q": "company_id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "q": "number__in",
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "vendor_id",
            "schema": {
              "q": "vendor_id__in",
              "title": "Vendor Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "vendor_credit_id",
            "schema": {
              "q": "vendor_refund_lines__vendor_credit_id__in",
              "title": "Vendor Credit Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "start_date",
            "schema": {
              "q": "transaction__date__gte",
              "title": "Start Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "end_date",
            "schema": {
              "q": "transaction__date__lte",
              "title": "End Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "transaction_currency",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemCurrencies"
                },
                {
                  "type": "null"
                }
              ],
              "q": "transaction__currency_iso_4217_code"
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "q": "transaction__record_status__in",
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "q": "updated_at__gte",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "q": "updated_at__lte",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicVendorRefundSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a specific VendorRefund record by its record number with all related data.",
        "tags": [
          "Vendor Refunds"
        ]
      },
      "put": {
        "operationId": "update_VendorRefund_record",
        "summary": "Update VendorRefund record",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicVendorRefundSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Update an existing VendorRefund record with the provided data. Validates all required fields and business rules.",
        "tags": [
          "Vendor Refunds"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicVendorRefundSchemaUpdateIn"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v2/vendor-refunds/{record_number}/attachments/": {
      "post": {
        "operationId": "create_VendorRefund_record_attachments",
        "summary": "Create VendorRefund record attachments",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicVendorRefundSchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Upload attachments to a VendorRefund record.",
        "tags": [
          "Vendor Refunds"
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "properties": {
                  "files": {
                    "items": {
                      "format": "binary",
                      "type": "string"
                    },
                    "title": "Files",
                    "type": "array"
                  }
                },
                "required": [
                  "files"
                ],
                "title": "FileParams",
                "type": "object"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v2/direct-expenses/": {
      "get": {
        "operationId": "list_DirectExpenseV2_records",
        "summary": "List DirectExpenseV2 records",
        "parameters": [
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "q": "company_id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "q": "number__in",
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "vendor_id",
            "schema": {
              "q": "vendor_id__in",
              "title": "Vendor Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "start_date",
            "schema": {
              "q": "transaction__date__gte",
              "title": "Start Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "end_date",
            "schema": {
              "q": "transaction__date__lte",
              "title": "End Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "transaction_currency",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemCurrencies"
                },
                {
                  "type": "null"
                }
              ],
              "q": "transaction__currency_iso_4217_code"
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "q": "transaction__record_status__in",
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "q": "updated_at__gte",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "q": "updated_at__lte",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "ordering",
            "schema": {
              "default": "id",
              "title": "Ordering",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "description": "Number of records to return per page (capped at 100)",
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to return per page (capped at 100)"
          },
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "description": "Number of records to skip before starting to return results",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to skip before starting to return results"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedPublicDirectExpenseV2ListSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a paginated list of DirectExpenseV2 records with filtering and ordering options.",
        "tags": [
          "Direct Expenses"
        ]
      },
      "post": {
        "operationId": "create_DirectExpenseV2_record",
        "summary": "Create DirectExpenseV2 record",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDirectExpenseV2SchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Create a new DirectExpenseV2 record with the provided data. Validates all required fields and business rules.",
        "tags": [
          "Direct Expenses"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicDirectExpenseSchemaCreateIn"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v2/direct-expenses/{record_number}/": {
      "get": {
        "operationId": "get_DirectExpenseV2_record",
        "summary": "Get DirectExpenseV2 record",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "q": "company_id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "q": "number__in",
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "vendor_id",
            "schema": {
              "q": "vendor_id__in",
              "title": "Vendor Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "start_date",
            "schema": {
              "q": "transaction__date__gte",
              "title": "Start Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "end_date",
            "schema": {
              "q": "transaction__date__lte",
              "title": "End Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "transaction_currency",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemCurrencies"
                },
                {
                  "type": "null"
                }
              ],
              "q": "transaction__currency_iso_4217_code"
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "q": "transaction__record_status__in",
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "q": "updated_at__gte",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "q": "updated_at__lte",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDirectExpenseV2SchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a specific DirectExpenseV2 record by its record number with all related data.",
        "tags": [
          "Direct Expenses"
        ]
      },
      "put": {
        "operationId": "update_DirectExpenseV2_record",
        "summary": "Update DirectExpenseV2 record",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDirectExpenseV2SchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Update an existing DirectExpenseV2 record with the provided data. Validates all required fields and business rules.",
        "tags": [
          "Direct Expenses"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicDirectExpenseSchemaUpdateIn"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v2/direct-expenses/{record_number}/attachments/": {
      "post": {
        "operationId": "create_DirectExpenseV2_record_attachments",
        "summary": "Create DirectExpenseV2 record attachments",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDirectExpenseV2SchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Upload attachments to a DirectExpenseV2 record.",
        "tags": [
          "Direct Expenses"
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "properties": {
                  "files": {
                    "items": {
                      "format": "binary",
                      "type": "string"
                    },
                    "title": "Files",
                    "type": "array"
                  }
                },
                "required": [
                  "files"
                ],
                "title": "FileParams",
                "type": "object"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v2/direct-expenses/{record_number}/lines/": {
      "get": {
        "operationId": "list_DirectExpenseV2_record_lines",
        "summary": "List DirectExpenseV2 record lines",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "q": "company_id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "q": "number__in",
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "vendor_id",
            "schema": {
              "q": "vendor_id__in",
              "title": "Vendor Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "start_date",
            "schema": {
              "q": "transaction__date__gte",
              "title": "Start Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "end_date",
            "schema": {
              "q": "transaction__date__lte",
              "title": "End Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "transaction_currency",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemCurrencies"
                },
                {
                  "type": "null"
                }
              ],
              "q": "transaction__currency_iso_4217_code"
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "q": "transaction__record_status__in",
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "q": "updated_at__gte",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "q": "updated_at__lte",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "description": "Number of records to return per page (capped at 100)",
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to return per page (capped at 100)"
          },
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "description": "Number of records to skip before starting to return results",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to skip before starting to return results"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedPublicExpenseItemOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a paginated list of lines for a specific DirectExpenseV2 record, ordered by position.",
        "tags": [
          "Direct Expenses"
        ]
      }
    },
    "/public/v2/bank-transfers/": {
      "get": {
        "operationId": "list_BankTransfer_records",
        "summary": "List BankTransfer records",
        "parameters": [
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "q": "company_id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "q": "number__in",
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "start_date",
            "schema": {
              "q": "transaction__date__gte",
              "title": "Start Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "end_date",
            "schema": {
              "q": "transaction__date__lte",
              "title": "End Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "debit_bank_account_number",
            "schema": {
              "title": "Debit Bank Account Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "credit_bank_account_number",
            "schema": {
              "title": "Credit Bank Account Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "q": "transaction__record_status__in",
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "approval_status",
            "schema": {
              "title": "Approval Status",
              "items": {
                "type": "string"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "approval_status_scope",
            "schema": {
              "title": "Approval Status Scope",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "q": "updated_at__gte",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "q": "updated_at__lte",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "ordering",
            "schema": {
              "default": "id",
              "title": "Ordering",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "description": "Number of records to return per page (capped at 100)",
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to return per page (capped at 100)"
          },
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "description": "Number of records to skip before starting to return results",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to skip before starting to return results"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedPublicBankTransferSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a paginated list of BankTransfer records with filtering and ordering options.",
        "tags": [
          "Bank Transfers"
        ]
      },
      "post": {
        "operationId": "create_BankTransfer_record",
        "summary": "Create BankTransfer record",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicBankTransferSchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Create a new BankTransfer record with the provided data. Validates all required fields and business rules.",
        "tags": [
          "Bank Transfers"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicBankTransferSchemaCreateIn"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v2/bank-transfers/{record_number}/": {
      "get": {
        "operationId": "get_BankTransfer_record",
        "summary": "Get BankTransfer record",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "q": "company_id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "q": "number__in",
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "start_date",
            "schema": {
              "q": "transaction__date__gte",
              "title": "Start Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "end_date",
            "schema": {
              "q": "transaction__date__lte",
              "title": "End Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "debit_bank_account_number",
            "schema": {
              "title": "Debit Bank Account Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "credit_bank_account_number",
            "schema": {
              "title": "Credit Bank Account Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "q": "transaction__record_status__in",
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "approval_status",
            "schema": {
              "title": "Approval Status",
              "items": {
                "type": "string"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "approval_status_scope",
            "schema": {
              "title": "Approval Status Scope",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "q": "updated_at__gte",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "q": "updated_at__lte",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicBankTransferSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a specific BankTransfer record by its record number with all related data.",
        "tags": [
          "Bank Transfers"
        ]
      },
      "put": {
        "operationId": "update_BankTransfer_record",
        "summary": "Update BankTransfer record",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicBankTransferSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Update an existing BankTransfer record with the provided data. Validates all required fields and business rules.",
        "tags": [
          "Bank Transfers"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicBankTransferSchemaUpdateIn"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v2/statistical-journals/": {
      "get": {
        "operationId": "list_StatisticalJournalV2_records",
        "summary": "List StatisticalJournalV2 records",
        "parameters": [
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "q": "number__in",
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "q": "statistical_journal_lines__classifications__company_id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "account_id",
            "schema": {
              "q": "account_id__in",
              "title": "Account Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "account_number",
            "schema": {
              "q": "account__number__in",
              "title": "Account Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "line_account_id",
            "schema": {
              "q": "statistical_journal_lines__classifications__account_id__in",
              "title": "Line Account Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "line_account_number",
            "schema": {
              "q": "statistical_journal_lines__classifications__account__number__in",
              "title": "Line Account Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "period_start",
            "schema": {
              "q": "period__gte",
              "title": "Period Start",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "period_end",
            "schema": {
              "q": "period__lte",
              "title": "Period End",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "date_start",
            "schema": {
              "q": "date__gte",
              "title": "Date Start",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "date_end",
            "schema": {
              "q": "date__lte",
              "title": "Date End",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "q": "record_status__in",
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "q": "updated_at__gte",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "q": "updated_at__lte",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "ordering",
            "schema": {
              "default": "id",
              "title": "Ordering",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "description": "Number of records to return per page (capped at 100)",
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to return per page (capped at 100)"
          },
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "description": "Number of records to skip before starting to return results",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to skip before starting to return results"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedPublicStatisticalJournalV2ListSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a paginated list of StatisticalJournalV2 records with filtering and ordering options.",
        "tags": [
          "Statistical Journals"
        ]
      },
      "post": {
        "operationId": "create_StatisticalJournalV2_record",
        "summary": "Create StatisticalJournalV2 record",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicStatisticalJournalV2SchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Create a new StatisticalJournalV2 record with the provided data. Validates all required fields and business rules.",
        "tags": [
          "Statistical Journals"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicStatisticalJournalSchemaCreateIn"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v2/statistical-journals/{record_number}/": {
      "get": {
        "operationId": "get_StatisticalJournalV2_record",
        "summary": "Get StatisticalJournalV2 record",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "q": "number__in",
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "q": "statistical_journal_lines__classifications__company_id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "account_id",
            "schema": {
              "q": "account_id__in",
              "title": "Account Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "account_number",
            "schema": {
              "q": "account__number__in",
              "title": "Account Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "line_account_id",
            "schema": {
              "q": "statistical_journal_lines__classifications__account_id__in",
              "title": "Line Account Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "line_account_number",
            "schema": {
              "q": "statistical_journal_lines__classifications__account__number__in",
              "title": "Line Account Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "period_start",
            "schema": {
              "q": "period__gte",
              "title": "Period Start",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "period_end",
            "schema": {
              "q": "period__lte",
              "title": "Period End",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "date_start",
            "schema": {
              "q": "date__gte",
              "title": "Date Start",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "date_end",
            "schema": {
              "q": "date__lte",
              "title": "Date End",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "q": "record_status__in",
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "q": "updated_at__gte",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "q": "updated_at__lte",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicStatisticalJournalV2SchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a specific StatisticalJournalV2 record by its record number with all related data.",
        "tags": [
          "Statistical Journals"
        ]
      },
      "put": {
        "operationId": "update_StatisticalJournalV2_record",
        "summary": "Update StatisticalJournalV2 record",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicStatisticalJournalV2SchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Update an existing StatisticalJournalV2 record with the provided data. Validates all required fields and business rules.",
        "tags": [
          "Statistical Journals"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicStatisticalJournalSchemaUpdateIn"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v2/statistical-journals/{record_number}/attachments/": {
      "post": {
        "operationId": "create_StatisticalJournalV2_record_attachments",
        "summary": "Create StatisticalJournalV2 record attachments",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicStatisticalJournalV2SchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Upload attachments to a StatisticalJournalV2 record.",
        "tags": [
          "Statistical Journals"
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "properties": {
                  "files": {
                    "items": {
                      "format": "binary",
                      "type": "string"
                    },
                    "title": "Files",
                    "type": "array"
                  }
                },
                "required": [
                  "files"
                ],
                "title": "FileParams",
                "type": "object"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v2/statistical-journals/{record_number}/lines/": {
      "get": {
        "operationId": "list_StatisticalJournalV2_record_lines",
        "summary": "List StatisticalJournalV2 record lines",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "q": "number__in",
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "q": "statistical_journal_lines__classifications__company_id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "account_id",
            "schema": {
              "q": "account_id__in",
              "title": "Account Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "account_number",
            "schema": {
              "q": "account__number__in",
              "title": "Account Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "line_account_id",
            "schema": {
              "q": "statistical_journal_lines__classifications__account_id__in",
              "title": "Line Account Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "line_account_number",
            "schema": {
              "q": "statistical_journal_lines__classifications__account__number__in",
              "title": "Line Account Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "period_start",
            "schema": {
              "q": "period__gte",
              "title": "Period Start",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "period_end",
            "schema": {
              "q": "period__lte",
              "title": "Period End",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "date_start",
            "schema": {
              "q": "date__gte",
              "title": "Date Start",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "date_end",
            "schema": {
              "q": "date__lte",
              "title": "Date End",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "q": "record_status__in",
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "q": "updated_at__gte",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "q": "updated_at__lte",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "description": "Number of records to return per page (capped at 100)",
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to return per page (capped at 100)"
          },
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "description": "Number of records to skip before starting to return results",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to skip before starting to return results"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedPublicStatisticalJournalLineSchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a paginated list of lines for a specific StatisticalJournalV2 record, ordered by position.",
        "tags": [
          "Statistical Journals"
        ]
      }
    },
    "/public/v2/recurring/invoices/": {
      "get": {
        "operationId": "list_RecurringInvoice_records",
        "summary": "List RecurringInvoice records",
        "parameters": [
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "q": "company_id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "q": "number__in",
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "recurring_type",
            "schema": {
              "q": "recurring_type__in",
              "title": "Recurring Type",
              "items": {
                "$ref": "#/components/schemas/RecurringType"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "q": "updated_at__gte",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "q": "updated_at__lte",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "ordering",
            "schema": {
              "default": "id",
              "title": "Ordering",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "description": "Number of records to return per page (capped at 100)",
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to return per page (capped at 100)"
          },
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "description": "Number of records to skip before starting to return results",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to skip before starting to return results"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedPublicRecurringInvoiceSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a paginated list of RecurringInvoice records with filtering and ordering options.",
        "tags": [
          "Recurring Invoices"
        ]
      },
      "post": {
        "operationId": "create_RecurringInvoice_record",
        "summary": "Create RecurringInvoice record",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicRecurringInvoiceSchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Create a new RecurringInvoice record with the provided data. Validates all required fields and business rules.",
        "tags": [
          "Recurring Invoices"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicRecurringInvoiceSchemaCreateIn"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v2/recurring/invoices/{record_number}/": {
      "get": {
        "operationId": "get_RecurringInvoice_record",
        "summary": "Get RecurringInvoice record",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "q": "company_id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "q": "number__in",
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "recurring_type",
            "schema": {
              "q": "recurring_type__in",
              "title": "Recurring Type",
              "items": {
                "$ref": "#/components/schemas/RecurringType"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "q": "updated_at__gte",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "q": "updated_at__lte",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicRecurringInvoiceSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a specific RecurringInvoice record by its record number with all related data.",
        "tags": [
          "Recurring Invoices"
        ]
      },
      "put": {
        "operationId": "update_RecurringInvoice_record",
        "summary": "Update RecurringInvoice record",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicRecurringInvoiceSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Update an existing RecurringInvoice record with the provided data. Validates all required fields and business rules.",
        "tags": [
          "Recurring Invoices"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicRecurringInvoiceSchemaUpdateIn"
              }
            }
          },
          "required": true
        }
      },
      "delete": {
        "operationId": "delete_RecurringInvoice_record",
        "summary": "Delete RecurringInvoice record",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuccessSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Delete a RecurringInvoice record.",
        "tags": [
          "Recurring Invoices"
        ]
      }
    },
    "/public/v2/recurring/bills/": {
      "get": {
        "operationId": "list_RecurringBill_records",
        "summary": "List RecurringBill records",
        "parameters": [
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "q": "company_id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "q": "number__in",
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "recurring_type",
            "schema": {
              "q": "recurring_type__in",
              "title": "Recurring Type",
              "items": {
                "$ref": "#/components/schemas/RecurringType"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "q": "updated_at__gte",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "q": "updated_at__lte",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "ordering",
            "schema": {
              "default": "id",
              "title": "Ordering",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "description": "Number of records to return per page (capped at 100)",
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to return per page (capped at 100)"
          },
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "description": "Number of records to skip before starting to return results",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to skip before starting to return results"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedPublicRecurringBillSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a paginated list of RecurringBill records with filtering and ordering options.",
        "tags": [
          "Recurring Bills"
        ]
      },
      "post": {
        "operationId": "create_RecurringBill_record",
        "summary": "Create RecurringBill record",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicRecurringBillSchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Create a new RecurringBill record with the provided data. Validates all required fields and business rules.",
        "tags": [
          "Recurring Bills"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicRecurringBillSchemaCreateIn"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v2/recurring/bills/{record_number}/": {
      "get": {
        "operationId": "get_RecurringBill_record",
        "summary": "Get RecurringBill record",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "q": "company_id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "q": "number__in",
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "recurring_type",
            "schema": {
              "q": "recurring_type__in",
              "title": "Recurring Type",
              "items": {
                "$ref": "#/components/schemas/RecurringType"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "q": "updated_at__gte",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "q": "updated_at__lte",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicRecurringBillSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a specific RecurringBill record by its record number with all related data.",
        "tags": [
          "Recurring Bills"
        ]
      },
      "put": {
        "operationId": "update_RecurringBill_record",
        "summary": "Update RecurringBill record",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicRecurringBillSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Update an existing RecurringBill record with the provided data. Validates all required fields and business rules.",
        "tags": [
          "Recurring Bills"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicRecurringBillSchemaUpdateIn"
              }
            }
          },
          "required": true
        }
      },
      "delete": {
        "operationId": "delete_RecurringBill_record",
        "summary": "Delete RecurringBill record",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuccessSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Delete a RecurringBill record.",
        "tags": [
          "Recurring Bills"
        ]
      }
    },
    "/public/v2/recurring/journal-entries/": {
      "get": {
        "operationId": "list_RecurringJournalEntry_records",
        "summary": "List RecurringJournalEntry records",
        "parameters": [
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "q": "company_id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "q": "number__in",
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "recurring_type",
            "schema": {
              "q": "recurring_type__in",
              "title": "Recurring Type",
              "items": {
                "$ref": "#/components/schemas/RecurringType"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "q": "updated_at__gte",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "q": "updated_at__lte",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "ordering",
            "schema": {
              "default": "id",
              "title": "Ordering",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "description": "Number of records to return per page (capped at 100)",
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to return per page (capped at 100)"
          },
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "description": "Number of records to skip before starting to return results",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to skip before starting to return results"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedPublicRecurringJournalEntrySchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a paginated list of RecurringJournalEntry records with filtering and ordering options.",
        "tags": [
          "Recurring Journal Entries"
        ]
      },
      "post": {
        "operationId": "create_RecurringJournalEntry_record",
        "summary": "Create RecurringJournalEntry record",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicRecurringJournalEntrySchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Create a new RecurringJournalEntry record with the provided data. Validates all required fields and business rules.",
        "tags": [
          "Recurring Journal Entries"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicRecurringJournalEntrySchemaCreateIn"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v2/recurring/journal-entries/{record_number}/": {
      "get": {
        "operationId": "get_RecurringJournalEntry_record",
        "summary": "Get RecurringJournalEntry record",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "q": "company_id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "q": "number__in",
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "recurring_type",
            "schema": {
              "q": "recurring_type__in",
              "title": "Recurring Type",
              "items": {
                "$ref": "#/components/schemas/RecurringType"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "q": "updated_at__gte",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "q": "updated_at__lte",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicRecurringJournalEntrySchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a specific RecurringJournalEntry record by its record number with all related data.",
        "tags": [
          "Recurring Journal Entries"
        ]
      },
      "put": {
        "operationId": "update_RecurringJournalEntry_record",
        "summary": "Update RecurringJournalEntry record",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicRecurringJournalEntrySchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Update an existing RecurringJournalEntry record with the provided data. Validates all required fields and business rules.",
        "tags": [
          "Recurring Journal Entries"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicRecurringJournalEntrySchemaUpdateIn"
              }
            }
          },
          "required": true
        }
      },
      "delete": {
        "operationId": "delete_RecurringJournalEntry_record",
        "summary": "Delete RecurringJournalEntry record",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "description": "The `number` attribute of the record.",
              "title": "Record Number",
              "type": "integer"
            },
            "required": true,
            "description": "The `number` attribute of the record."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuccessSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Delete a RecurringJournalEntry record.",
        "tags": [
          "Recurring Journal Entries"
        ]
      }
    },
    "/public/v2/companies/": {
      "get": {
        "operationId": "core_api_public_companies_list_companies",
        "summary": "List companies",
        "parameters": [
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "id",
            "schema": {
              "q": "id__in",
              "title": "Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "name",
            "schema": {
              "q": "name__icontains",
              "title": "Name",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "parent_company_id",
            "schema": {
              "q": "parent_company_id__in",
              "title": "Parent Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "currency_iso_4217_code",
            "schema": {
              "q": "currency_iso_4217_code__in",
              "title": "Currency Iso 4217 Code",
              "items": {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "is_active",
            "schema": {
              "title": "Is Active",
              "type": [
                "boolean",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "is_elimination",
            "schema": {
              "title": "Is Elimination",
              "type": [
                "boolean",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "ordering",
            "schema": {
              "default": "-updated_at",
              "title": "Ordering",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "description": "Number of records to return per page (capped at 100)",
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to return per page (capped at 100)"
          },
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "description": "Number of records to skip before starting to return results",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to skip before starting to return results"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedCompanySchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a paginated list of companies with filtering, search, and ordering capabilities.",
        "tags": [
          "Companies"
        ]
      }
    },
    "/public/v2/companies/{company_id}/": {
      "get": {
        "operationId": "core_api_public_companies_get_company",
        "summary": "Get company",
        "parameters": [
          {
            "in": "path",
            "name": "company_id",
            "schema": {
              "title": "Company Id",
              "type": "integer"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CompanySchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a specific company by ID with all related data including company access.",
        "tags": [
          "Companies"
        ]
      }
    },
    "/public/v2/accounts/": {
      "get": {
        "operationId": "core_api_public_accounts_list_accounts",
        "summary": "List accounts",
        "parameters": [
          {
            "in": "query",
            "name": "integration_sources",
            "schema": {
              "title": "Integration Sources",
              "items": {
                "$ref": "#/components/schemas/IntegrationSourceSlug"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "id",
            "schema": {
              "q": "id__in",
              "title": "Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "name",
            "schema": {
              "q": "name__icontains",
              "title": "Name",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "description",
            "schema": {
              "q": "description__icontains",
              "title": "Description",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "q": "number__icontains",
              "title": "Number",
              "type": [
                "integer",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "account_types",
            "schema": {
              "q": "account_type__in",
              "title": "Account Types",
              "items": {
                "type": "string"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "excluded_account_types",
            "schema": {
              "description": "Account types to exclude from the response. Combines with account_types (include set minus excluded set).",
              "title": "Excluded Account Types",
              "items": {
                "type": "string"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false,
            "description": "Account types to exclude from the response. Combines with account_types (include set minus excluded set)."
          },
          {
            "in": "query",
            "name": "is_active",
            "schema": {
              "title": "Is Active",
              "type": [
                "boolean",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "is_system",
            "schema": {
              "title": "Is System",
              "type": [
                "boolean",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "is_monetary",
            "schema": {
              "title": "Is Monetary",
              "type": [
                "boolean",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "description": "Only filters by company_id field used in Bank and Credit Card accounts.",
              "title": "Company Id",
              "items": {
                "anyOf": [
                  {
                    "type": "integer"
                  },
                  {
                    "const": "null",
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "uniqueItems": true,
              "type": [
                "array",
                "null"
              ]
            },
            "required": false,
            "description": "Only filters by company_id field used in Bank and Credit Card accounts."
          },
          {
            "in": "query",
            "name": "parent_account_id",
            "schema": {
              "title": "Parent Account Id",
              "type": [
                "integer",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "financial_account_id",
            "schema": {
              "description": "Only filters by financial_account_id field used in Bank and Credit Card accounts.",
              "title": "Financial Account Id",
              "items": {
                "anyOf": [
                  {
                    "type": "integer"
                  },
                  {
                    "const": "null",
                    "type": "string"
                  }
                ]
              },
              "uniqueItems": true,
              "type": [
                "array",
                "null"
              ]
            },
            "required": false,
            "description": "Only filters by financial_account_id field used in Bank and Credit Card accounts."
          },
          {
            "in": "query",
            "name": "no_financial_account",
            "schema": {
              "q": "financial_account__isnull",
              "title": "No Financial Account",
              "type": [
                "boolean",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "currency_iso_4217_code",
            "schema": {
              "title": "Currency Iso 4217 Code",
              "items": {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "category_1099",
            "schema": {
              "q": "category_1099__in",
              "title": "Category 1099",
              "items": {
                "type": "string"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "should_sync_pending",
            "schema": {
              "title": "Should Sync Pending",
              "type": [
                "boolean",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id_access",
            "schema": {
              "description": "A combined filter by company_id_access, and the company_id field used in Bank and Credit Card accounts.",
              "title": "Company Id Access",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false,
            "description": "A combined filter by company_id_access, and the company_id field used in Bank and Credit Card accounts."
          },
          {
            "in": "query",
            "name": "numbers",
            "schema": {
              "q": "number__in",
              "title": "Numbers",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "names",
            "schema": {
              "q": "name__in",
              "title": "Names",
              "items": {
                "type": "string"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "system_ref",
            "schema": {
              "q": "system_ref__in",
              "title": "System Ref",
              "items": {
                "$ref": "#/components/schemas/SystemAccountNames"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "exclude_mapped_to_other_companies",
            "schema": {
              "description": "When set to a company_id, only returns accounts that are completely unmapped (no company_id and no AccountCompanyAccess). Used during migration to avoid selecting accounts already mapped to any company.",
              "title": "Exclude Mapped To Other Companies",
              "type": [
                "integer",
                "null"
              ]
            },
            "required": false,
            "description": "When set to a company_id, only returns accounts that are completely unmapped (no company_id and no AccountCompanyAccess). Used during migration to avoid selecting accounts already mapped to any company."
          },
          {
            "in": "query",
            "name": "start_date",
            "schema": {
              "q": "created_at__date__gte",
              "title": "Start Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "end_date",
            "schema": {
              "q": "created_at__date__lte",
              "title": "End Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "ordering",
            "schema": {
              "default": "number",
              "title": "Ordering",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "description": "Number of records to return per page (capped at 100)",
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to return per page (capped at 100)"
          },
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "description": "Number of records to skip before starting to return results",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to skip before starting to return results"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedPublicAccountSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a paginated list of chart of accounts with filtering, search, and ordering capabilities.",
        "tags": [
          "Accounts"
        ]
      },
      "post": {
        "operationId": "core_api_public_accounts_create_account",
        "summary": "Create account",
        "parameters": [],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicAccountSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Create a new account in the chart of accounts. Supports parent-child relationships and company access restrictions.",
        "tags": [
          "Accounts"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicAccountSchemaCreateIn"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v2/accounts/{account_number}/": {
      "get": {
        "operationId": "core_api_public_accounts_get_account",
        "summary": "Get account",
        "parameters": [
          {
            "in": "path",
            "name": "account_number",
            "schema": {
              "title": "Account Number",
              "type": "integer"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicAccountSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a specific account by number with all related data including company access.",
        "tags": [
          "Accounts"
        ]
      }
    },
    "/public/v2/budgets/": {
      "get": {
        "operationId": "core_api_public_budgets_list_budgets",
        "summary": "List budgets",
        "parameters": [
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "budget_type",
            "schema": {
              "q": "budget_type__in",
              "title": "Budget Type",
              "items": {
                "$ref": "#/components/schemas/BudgetTypes"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "calendar_year",
            "schema": {
              "q": "calendar_year__in",
              "title": "Calendar Year",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "q": "company_id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "q": "record_status__in",
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "ordering",
            "schema": {
              "default": "-updated_at",
              "title": "Ordering",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "description": "Number of records to return per page (capped at 100)",
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to return per page (capped at 100)"
          },
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "description": "Number of records to skip before starting to return results",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to skip before starting to return results"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedPublicBudgetSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a paginated list of budgets with filtering and search capabilities.",
        "tags": [
          "Budgets"
        ]
      }
    },
    "/public/v2/budgets/{budget_id}/": {
      "get": {
        "operationId": "core_api_public_budgets_get_budget",
        "summary": "Get budget",
        "parameters": [
          {
            "in": "path",
            "name": "budget_id",
            "schema": {
              "title": "Budget Id",
              "type": "integer"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicBudgetSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a specific budget by ID with all related data.",
        "tags": [
          "Budgets"
        ]
      }
    },
    "/public/v2/contracts/": {
      "get": {
        "operationId": "core_api_public_contracts_list_contracts",
        "summary": "List Contracts",
        "parameters": [
          {
            "in": "query",
            "name": "integration_sources",
            "schema": {
              "title": "Integration Sources",
              "items": {
                "$ref": "#/components/schemas/IntegrationSourceSlug"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "id",
            "schema": {
              "q": "id__in",
              "title": "Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "q": "company_id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "q": "number__in",
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "customer_id",
            "schema": {
              "q": "customer_id__in",
              "title": "Customer Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "status",
            "schema": {
              "title": "Status",
              "items": {
                "$ref": "#/components/schemas/ContractStatusFilter"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "start_date",
            "schema": {
              "q": "date__gte",
              "title": "Start Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "end_date",
            "schema": {
              "q": "date__lte",
              "title": "End Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "contract_start_date",
            "schema": {
              "q": "start_date__gte",
              "title": "Contract Start Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "contract_end_date",
            "schema": {
              "q": "end_date__lte",
              "title": "Contract End Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "approval_status",
            "schema": {
              "title": "Approval Status",
              "items": {
                "type": "string"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "recognition_mode",
            "schema": {
              "q": "recognition_mode__in",
              "title": "Recognition Mode",
              "items": {
                "$ref": "#/components/schemas/RecognitionMode"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "has_auto_renewal",
            "schema": {
              "title": "Has Auto Renewal",
              "type": [
                "boolean",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "has_scheduled_termination",
            "schema": {
              "title": "Has Scheduled Termination",
              "type": [
                "boolean",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "days_till_expiry",
            "schema": {
              "title": "Days Till Expiry",
              "type": [
                "integer",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "ordering",
            "schema": {
              "default": "-updated_at",
              "title": "Ordering",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "description": "Number of records to return per page (capped at 100)",
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to return per page (capped at 100)"
          },
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "description": "Number of records to skip before starting to return results",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to skip before starting to return results"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedContractListSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a paginated list of revenue recognition contracts, with filtering and ordering options.",
        "tags": [
          "Contracts"
        ]
      },
      "post": {
        "operationId": "core_api_public_contracts_create_contract",
        "summary": "Create Contract",
        "parameters": [],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContractSchemaOut"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Create a revenue recognition contract with its performance obligations and recognition schedule.",
        "tags": [
          "Contracts"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ContractSchemaCreateIn"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v2/contracts/{record_id}/": {
      "get": {
        "operationId": "core_api_public_contracts_get_contract",
        "summary": "Get Contract",
        "parameters": [
          {
            "in": "path",
            "name": "record_id",
            "schema": {
              "title": "Record Id",
              "type": "integer"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContractSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a single revenue recognition contract by record ID, including its performance obligations.",
        "tags": [
          "Contracts"
        ]
      }
    },
    "/public/v2/contracts/{contract_id}/usage/": {
      "get": {
        "operationId": "core_api_public_contracts_list_obligation_usage",
        "summary": "List usage records for a contract",
        "parameters": [
          {
            "in": "path",
            "name": "contract_id",
            "schema": {
              "title": "Contract Id",
              "type": "integer"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/ObligationUsageSchemaOut"
                  },
                  "title": "Response",
                  "type": "array"
                }
              }
            }
          }
        },
        "description": "Return all usage records for a given contract.",
        "tags": [
          "Contracts"
        ]
      }
    },
    "/public/v2/contracts/{contract_id}/usage/bulk-upsert/": {
      "post": {
        "operationId": "core_api_public_contracts_upsert_obligation_usage",
        "summary": "Upsert usage records for contract obligations",
        "parameters": [
          {
            "in": "path",
            "name": "contract_id",
            "schema": {
              "title": "Contract Id",
              "type": "integer"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/ObligationUsageSchemaOut"
                  },
                  "title": "Response",
                  "type": "array"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Create or update usage records in batch. Items with an 'id' field are updated; items without are created. Generates revenue recognitions and invoices.",
        "tags": [
          "Contracts"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ObligationUsageBatchIn"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v2/customers/": {
      "get": {
        "operationId": "core_api_public_customers_list_customers",
        "summary": "List customers",
        "parameters": [
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "id",
            "schema": {
              "q": "id__in",
              "title": "Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "q": "company__id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "customer_type",
            "schema": {
              "q": "customer_type__in",
              "title": "Customer Type",
              "items": {
                "type": "string"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "name",
            "schema": {
              "q": "name__icontains",
              "title": "Name",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "name_exact",
            "schema": {
              "q": "name__iexact",
              "title": "Name Exact",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "unique_id",
            "schema": {
              "q": "unique_id__iexact",
              "title": "Unique Id",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "email",
            "schema": {
              "q": "email__icontains",
              "title": "Email",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "website",
            "schema": {
              "q": "website__icontains",
              "title": "Website",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "address",
            "schema": {
              "q": "address__icontains",
              "title": "Address",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "country",
            "schema": {
              "q": "country__icontains",
              "title": "Country",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "state",
            "schema": {
              "q": "address_obj__state__icontains",
              "title": "State",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "phone",
            "schema": {
              "q": "phone__icontains",
              "title": "Phone",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "q": "record_status__in",
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "approval_status",
            "schema": {
              "title": "Approval Status",
              "items": {
                "type": "string"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "approval_status_scope",
            "schema": {
              "title": "Approval Status Scope",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "ordering",
            "schema": {
              "default": "-updated_at",
              "title": "Ordering",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "description": "Number of records to return per page (capped at 100)",
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to return per page (capped at 100)"
          },
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "description": "Number of records to skip before starting to return results",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to skip before starting to return results"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedCustomerListSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a paginated list of customers with filtering, search, and ordering capabilities.",
        "tags": [
          "Customers"
        ]
      },
      "post": {
        "operationId": "core_api_public_customers_create_customer",
        "summary": "Create customer",
        "parameters": [],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Create a new customer record with address information.",
        "tags": [
          "Customers"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomerSchemaCreateIn"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v2/customers/{customer_id}/": {
      "get": {
        "operationId": "core_api_public_customers_get_customer",
        "summary": "Get customer",
        "parameters": [
          {
            "in": "path",
            "name": "customer_id",
            "schema": {
              "title": "Customer Id",
              "type": "integer"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a specific customer by ID.",
        "tags": [
          "Customers"
        ]
      },
      "put": {
        "operationId": "core_api_public_customers_update_customer",
        "summary": "Update customer",
        "parameters": [
          {
            "in": "path",
            "name": "customer_id",
            "schema": {
              "title": "Customer Id",
              "type": "integer"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Update a customer. Send only the fields you want to change — anything you don't send stays as it is.\n\nSetting custom fields is easiest using the field name as the key:\n\n```json\n{\"custom_fields\": [{\"Partner\": true}, {\"Tier\": \"Gold\"}]}\n```\n\nEach item is a one-key object where the key is the custom field's name and the value is whatever you want to set. Use `null` to clear a field. If the name doesn't match a custom field in your organization you'll get a 422 back — we won't silently ignore it.\n\nIf you already know the custom field's id, the older nested shape still works and you can mix both in the same request:\n\n```json\n{\"custom_fields\": [{\"field\": {\"id\": 42}, \"value\": {\"custom_field_id\": 42, \"value\": \"Acme\"}}]}\n```\n\nEdge case: if you happen to have two custom fields with the same name, the name-keyed shape can't tell them apart — use the id-based shape for those.",
        "tags": [
          "Customers"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomerSchemaUpdateIn"
              }
            }
          },
          "required": true
        },
        "x-mint": {
          "metadata": {
            "description": "Update a customer."
          }
        }
      },
      "patch": {
        "operationId": "core_api_public_customers_patch_customer",
        "summary": "Update customer (partial)",
        "parameters": [
          {
            "in": "path",
            "name": "customer_id",
            "schema": {
              "title": "Customer Id",
              "type": "integer"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Update specific fields on a customer. Send only the fields you want to change — anything you don't send stays as it is. To clear a nullable field, send `null`.\n\nExample — rename a customer:\n\n```json\n{\"name\": \"Acme Holdings, Inc.\"}\n```\n\nExample — update phone and website together:\n\n```json\n{\"phone\": \"555-0199\", \"website\": \"https://acme.example\"}\n```\n\n**Custom fields**\n\nSet custom fields by name:\n\n```json\n{\"custom_fields\": [{\"Partner\": true}, {\"Tier\": \"Gold\"}]}\n```\n\nEach item is a one-key object where the key is the custom field's name and the value is whatever you want to set. Use `null` to clear a field. If the name doesn't match a custom field in your organization you'll get a 422 back — we won't silently ignore it. If you happen to have two custom fields with the same name, use the id-based shape:\n\n```json\n{\"custom_fields\": [{\"field\": {\"id\": 42}, \"value\": {\"custom_field_id\": 42, \"value\": \"Acme\"}}]}\n```\n\nOmitting `custom_fields` from the request leaves existing values untouched.",
        "tags": [
          "Customers"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomerSchemaPatchIn"
              }
            }
          },
          "required": true
        },
        "x-mint": {
          "metadata": {
            "description": "Update specific fields on a customer."
          }
        }
      },
      "delete": {
        "operationId": "core_api_public_customers_delete_customer",
        "summary": "Delete customer",
        "parameters": [
          {
            "in": "path",
            "name": "customer_id",
            "schema": {
              "title": "Customer Id",
              "type": "integer"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuccessSchema"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Delete a customer by ID. Fails if the customer is referenced by other records.",
        "tags": [
          "Customers"
        ]
      }
    },
    "/public/v2/items/": {
      "get": {
        "operationId": "core_api_public_items_list_items",
        "summary": "List Items",
        "parameters": [
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "id",
            "schema": {
              "q": "id__in",
              "title": "Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "name",
            "schema": {
              "q": "name__icontains",
              "title": "Name",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "item_type",
            "schema": {
              "q": "item_type__in",
              "title": "Item Type",
              "items": {
                "$ref": "#/components/schemas/ItemTypes"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "no_income_account",
            "schema": {
              "q": "income_account__isnull",
              "title": "No Income Account",
              "type": [
                "boolean",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "no_expense_account",
            "schema": {
              "q": "expense_account__isnull",
              "title": "No Expense Account",
              "type": [
                "boolean",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "no_deferral_account",
            "schema": {
              "q": "deferral_account__isnull",
              "title": "No Deferral Account",
              "type": [
                "boolean",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "no_asset_account",
            "schema": {
              "q": "asset_account__isnull",
              "title": "No Asset Account",
              "type": [
                "boolean",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "no_discount_account",
            "schema": {
              "q": "discount_account__isnull",
              "title": "No Discount Account",
              "type": [
                "boolean",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "expense_account_id",
            "schema": {
              "q": "expense_account_id__in",
              "title": "Expense Account Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "income_account_id",
            "schema": {
              "q": "income_account_id__in",
              "title": "Income Account Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "deferral_account_id",
            "schema": {
              "q": "deferral_account_id__in",
              "title": "Deferral Account Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "asset_account_id",
            "schema": {
              "q": "asset_account_id__in",
              "title": "Asset Account Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "product_tax_code_id",
            "schema": {
              "q": "product_tax_code_id__in",
              "title": "Product Tax Code Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "discount_account_id",
            "schema": {
              "q": "discount_account_id__in",
              "title": "Discount Account Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "is_active",
            "schema": {
              "q": "is_active",
              "title": "Is Active",
              "type": [
                "boolean",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "q": "record_status__in",
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "show_inactive",
            "schema": {
              "default": false,
              "title": "Show Inactive",
              "type": "boolean"
            },
            "required": false
          },
          {
            "in": "query",
            "name": "ordering",
            "schema": {
              "default": "-updated_at",
              "title": "Ordering",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "description": "Number of records to return per page (capped at 100)",
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to return per page (capped at 100)"
          },
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "description": "Number of records to skip before starting to return results",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to skip before starting to return results"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedPublicItemSchemaOut"
                }
              }
            }
          }
        },
        "description": "Retrieve a paginated list of items (products and services), with filtering and ordering options.",
        "tags": [
          "Items"
        ]
      },
      "post": {
        "operationId": "core_api_public_items_create_item",
        "summary": "Create Item",
        "parameters": [],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicItemSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Create an item (product or service) with pricing, description, and revenue or expense accounts.",
        "tags": [
          "Items"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicItemSchemaCreateIn"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v2/items/{item_id}/": {
      "get": {
        "operationId": "core_api_public_items_get_item",
        "summary": "Get Item",
        "parameters": [
          {
            "in": "path",
            "name": "item_id",
            "schema": {
              "title": "Item Id",
              "type": "integer"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicItemSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a single item by ID, including its pricing and associated accounts.",
        "tags": [
          "Items"
        ]
      },
      "put": {
        "operationId": "core_api_public_items_update_item",
        "summary": "Update Item",
        "parameters": [
          {
            "in": "path",
            "name": "item_id",
            "schema": {
              "title": "Item Id",
              "type": "integer"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicItemSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Update an existing item's pricing, description, and associated accounts.",
        "tags": [
          "Items"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicItemSchemaUpdateIn"
              }
            }
          },
          "required": true
        }
      },
      "delete": {
        "operationId": "core_api_public_items_delete_item",
        "summary": "Delete Item",
        "parameters": [
          {
            "in": "path",
            "name": "item_id",
            "schema": {
              "title": "Item Id",
              "type": "integer"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuccessSchema"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Delete an item so it can no longer be added to invoices or bills.",
        "tags": [
          "Items"
        ]
      }
    },
    "/public/v2/vendors/": {
      "get": {
        "operationId": "core_api_public_vendors_list_vendors",
        "summary": "List vendors",
        "parameters": [
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "id",
            "schema": {
              "q": "id__in",
              "title": "Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "vendor_type",
            "schema": {
              "q": "vendor_type__in",
              "title": "Vendor Type",
              "items": {
                "type": "string"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "name",
            "schema": {
              "q": "name__icontains",
              "title": "Name",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "unique_id",
            "schema": {
              "q": "unique_id__iexact",
              "title": "Unique Id",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "email",
            "schema": {
              "q": "email__icontains",
              "title": "Email",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "website",
            "schema": {
              "q": "website__icontains",
              "title": "Website",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "single_address",
            "schema": {
              "q": "single_address__icontains",
              "title": "Single Address",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "country",
            "schema": {
              "q": "country__icontains",
              "title": "Country",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "state",
            "schema": {
              "q": "address__state__icontains",
              "title": "State",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "phone",
            "schema": {
              "q": "phone__icontains",
              "title": "Phone",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "is_active",
            "schema": {
              "title": "Is Active",
              "type": [
                "boolean",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "is_1099_eligible",
            "schema": {
              "title": "Is 1099 Eligible",
              "type": [
                "boolean",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "tin",
            "schema": {
              "q": "tin__icontains",
              "title": "Tin",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "q": "record_status__in",
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "q": "company__id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "exclude_company_id",
            "schema": {
              "title": "Exclude Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "names",
            "schema": {
              "q": "name__in",
              "title": "Names",
              "items": {
                "type": "string"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "start_date",
            "schema": {
              "q": "created_at__date__gte",
              "title": "Start Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "end_date",
            "schema": {
              "q": "created_at__date__lte",
              "title": "End Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "approval_status",
            "schema": {
              "title": "Approval Status",
              "items": {
                "type": "string"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "approval_status_scope",
            "schema": {
              "title": "Approval Status Scope",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "view",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/ListView"
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "ordering",
            "schema": {
              "default": "-updated_at",
              "title": "Ordering",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "description": "Number of records to return per page (capped at 100)",
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to return per page (capped at 100)"
          },
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "description": "Number of records to skip before starting to return results",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to skip before starting to return results"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedPublicVendorListSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a paginated list of vendors with filtering, search, and ordering capabilities.",
        "tags": [
          "Vendors"
        ]
      },
      "post": {
        "operationId": "core_api_public_vendors_create_vendor",
        "summary": "Create vendor",
        "parameters": [],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicVendorSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Create a new vendor record with address and payment information.",
        "tags": [
          "Vendors"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicVendorSchemaCreateIn"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v2/vendors/{vendor_id}/": {
      "get": {
        "operationId": "core_api_public_vendors_get_vendor",
        "summary": "Get vendor",
        "parameters": [
          {
            "in": "path",
            "name": "vendor_id",
            "schema": {
              "title": "Vendor Id",
              "type": "integer"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicVendorSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a specific vendor by ID with address, attachments, and payment information.",
        "tags": [
          "Vendors"
        ]
      },
      "put": {
        "operationId": "core_api_public_vendors_update_vendor",
        "summary": "Update vendor",
        "parameters": [
          {
            "in": "path",
            "name": "vendor_id",
            "schema": {
              "title": "Vendor Id",
              "type": "integer"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicVendorSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Update a vendor. Send only the fields you want to change — anything you don't send stays as it is.\n\nSetting custom fields is easiest using the field name as the key:\n\n```json\n{\"custom_fields\": [{\"Partner\": true}, {\"Tier\": \"Gold\"}]}\n```\n\nEach item is a one-key object where the key is the custom field's name and the value is whatever you want to set. Use `null` to clear a field. If the name doesn't match a custom field in your organization you'll get a 422 back — we won't silently ignore it.\n\nIf you already know the custom field's id, the older nested shape still works and you can mix both in the same request:\n\n```json\n{\"custom_fields\": [{\"field\": {\"id\": 42}, \"value\": {\"custom_field_id\": 42, \"value\": \"Acme\"}}]}\n```\n\nEdge case: if you happen to have two custom fields with the same name, the name-keyed shape can't tell them apart — use the id-based shape for those.",
        "tags": [
          "Vendors"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicVendorSchemaUpdateIn"
              }
            }
          },
          "required": true
        },
        "x-mint": {
          "metadata": {
            "description": "Update a vendor."
          }
        }
      },
      "patch": {
        "operationId": "core_api_public_vendors_patch_vendor",
        "summary": "Update vendor (partial)",
        "parameters": [
          {
            "in": "path",
            "name": "vendor_id",
            "schema": {
              "title": "Vendor Id",
              "type": "integer"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicVendorSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Update specific fields on a vendor. Send only the fields you want to change — anything you don't send stays as it is. To clear a nullable field, send `null`.\n\nExample — rename a vendor and update its TIN:\n\n```json\n{\"name\": \"Acme Supply Co.\", \"tin\": \"12-3456789\", \"tin_type\": \"ein\"}\n```\n\nExample — change payment routing:\n\n```json\n{\"bank_account_number\": \"000123456789\", \"bank_routing_number\": \"021000021\"}\n```\n\nExisting attachments are preserved unless you explicitly send the `attachments` field; use the dedicated attachments endpoint to manage them.\n\n**Custom fields**\n\nSet custom fields by name:\n\n```json\n{\"custom_fields\": [{\"Partner\": true}, {\"Tier\": \"Gold\"}]}\n```\n\nEach item is a one-key object where the key is the custom field's name and the value is whatever you want to set. Use `null` to clear a field. If the name doesn't match a custom field in your organization you'll get a 422 back — we won't silently ignore it. If you happen to have two custom fields with the same name, use the id-based shape:\n\n```json\n{\"custom_fields\": [{\"field\": {\"id\": 42}, \"value\": {\"custom_field_id\": 42, \"value\": \"Acme\"}}]}\n```\n\nOmitting `custom_fields` from the request leaves existing values untouched.",
        "tags": [
          "Vendors"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicVendorSchemaPatchIn"
              }
            }
          },
          "required": true
        },
        "x-mint": {
          "metadata": {
            "description": "Update specific fields on a vendor."
          }
        }
      },
      "delete": {
        "operationId": "core_api_public_vendors_delete_vendor",
        "summary": "Delete vendor",
        "parameters": [
          {
            "in": "path",
            "name": "vendor_id",
            "schema": {
              "title": "Vendor Id",
              "type": "integer"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuccessSchema"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Delete a vendor by ID. Fails if the vendor is referenced by other records.",
        "tags": [
          "Vendors"
        ]
      }
    },
    "/public/v2/classifications/": {
      "get": {
        "operationId": "core_api_public_classifications_list_classifications",
        "summary": "List Classifications",
        "parameters": [
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "id",
            "schema": {
              "q": "id__in",
              "title": "Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "name",
            "schema": {
              "q": "name__icontains",
              "title": "Name",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "is_active",
            "schema": {
              "title": "Is Active",
              "type": [
                "boolean",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "is_required",
            "schema": {
              "title": "Is Required",
              "type": [
                "boolean",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "ordering",
            "schema": {
              "default": "-updated_at",
              "title": "Ordering",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "description": "Number of records to return per page (capped at 100)",
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to return per page (capped at 100)"
          },
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "description": "Number of records to skip before starting to return results",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to skip before starting to return results"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedPublicClassificationSchemaOut"
                }
              }
            }
          }
        },
        "description": "Retrieve a paginated list of classification dimensions, such as departments, locations, or projects.",
        "tags": [
          "Classifications"
        ]
      },
      "post": {
        "operationId": "core_api_public_classifications_create_classification",
        "summary": "Create Classification",
        "parameters": [],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicClassificationSchemaOut"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Create a classification dimension used to tag and analyze transactions across multiple dimensions.",
        "tags": [
          "Classifications"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicClassificationSchemaCreateIn"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v2/classifications/{classification_id}/": {
      "get": {
        "operationId": "core_api_public_classifications_get_classification",
        "summary": "Get Classification",
        "parameters": [
          {
            "in": "path",
            "name": "classification_id",
            "schema": {
              "title": "Classification Id",
              "type": "integer"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicClassificationSchemaOut"
                }
              }
            }
          }
        },
        "description": "Retrieve a single classification dimension by ID.",
        "tags": [
          "Classifications"
        ]
      },
      "put": {
        "operationId": "core_api_public_classifications_update_classification",
        "summary": "Update Classification",
        "parameters": [
          {
            "in": "path",
            "name": "classification_id",
            "schema": {
              "title": "Classification Id",
              "type": "integer"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicClassificationSchemaOut"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Update an existing classification dimension's name and settings.",
        "tags": [
          "Classifications"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicClassificationSchemaUpdateIn"
              }
            }
          },
          "required": true
        }
      },
      "patch": {
        "operationId": "core_api_public_classifications_patch_classification",
        "summary": "Update classification (partial)",
        "parameters": [
          {
            "in": "path",
            "name": "classification_id",
            "schema": {
              "title": "Classification Id",
              "type": "integer"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicClassificationSchemaOut"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Update specific fields on a classification. Send only the fields you want to change — anything you don't send stays as it is. Use `null` on `parent_id` to remove a parent.\n\nExample — rename and deactivate a classification:\n\n```json\n{\"name\": \"Department (legacy)\", \"is_active\": false}\n```\n\n**Selections (classification lines)**\n\nOmitting `selections` preserves the existing lines. Sending the field applies it as-is: lines whose `id` you include are kept (and updated with whatever values you send), and lines whose `id` you omit are deleted. Sending `[]` removes every line. Adding a new line means sending it without an `id`:\n\n```json\n{\"selections\": [\n  {\"id\": 42, \"name\": \"Engineering\", \"is_active\": true, \"parent_id\": null},\n  {\"name\": \"Operations\", \"is_active\": true, \"parent_id\": null}\n]}\n```\n\n**Required-for-records**\n\nOmitting `required_for_records` preserves existing associations. Sending the field replaces the full set; sending `[]` removes them all:\n\n```json\n{\"required_for_records\": [\"invoice\", \"bill\"]}\n```\n\nLines that are in use elsewhere can't be deleted; you'll get a 422 back listing which ones.",
        "tags": [
          "Classifications"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicClassificationSchemaPatchIn"
              }
            }
          },
          "required": true
        },
        "x-mint": {
          "metadata": {
            "description": "Update specific fields on a classification."
          }
        }
      },
      "delete": {
        "operationId": "core_api_public_classifications_delete_classification",
        "summary": "Delete Classification",
        "parameters": [
          {
            "in": "path",
            "name": "classification_id",
            "schema": {
              "title": "Classification Id",
              "type": "integer"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuccessSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Delete a classification dimension so it can no longer be assigned to transactions.",
        "tags": [
          "Classifications"
        ]
      }
    },
    "/public/v2/classifications-lines/": {
      "get": {
        "operationId": "core_api_public_classifications_list_classification_lines",
        "summary": "List Classification Lines",
        "parameters": [
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "id",
            "schema": {
              "q": "id__in",
              "title": "Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "name",
            "schema": {
              "q": "name__icontains",
              "title": "Name",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "is_active",
            "schema": {
              "title": "Is Active",
              "type": [
                "boolean",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "classification_id",
            "schema": {
              "q": "classification_id__in",
              "title": "Classification Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "ordering",
            "schema": {
              "default": "-id",
              "title": "Ordering",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "description": "Number of records to return per page (capped at 100)",
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to return per page (capped at 100)"
          },
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "description": "Number of records to skip before starting to return results",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to skip before starting to return results"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedPublicClassificationLineSchemaOut"
                }
              }
            }
          }
        },
        "description": "Retrieve a paginated list of classification values that can be assigned to transaction line items.",
        "tags": [
          "Classifications Lines"
        ]
      }
    },
    "/public/v2/custom-fields/": {
      "get": {
        "operationId": "core_api_public_custom_fields_list_custom_fields",
        "summary": "List custom fields",
        "parameters": [
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "id",
            "schema": {
              "q": "id__in",
              "title": "Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "field_type",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/FieldType"
                },
                {
                  "type": "null"
                }
              ],
              "q": "field_type"
            },
            "required": false
          },
          {
            "in": "query",
            "name": "is_active",
            "schema": {
              "q": "is_active",
              "title": "Is Active",
              "type": [
                "boolean",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "name",
            "schema": {
              "q": "name__icontains",
              "title": "Name",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_type",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/AppliesToTypes"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filter to fields that apply to this record type (e.g. `customer`, `invoice`)."
            },
            "required": false,
            "description": "Filter to fields that apply to this record type (e.g. `customer`, `invoice`)."
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "description": "Include both org-level fields and fields scoped to this company id.",
              "title": "Company Id",
              "type": [
                "integer",
                "null"
              ]
            },
            "required": false,
            "description": "Include both org-level fields and fields scoped to this company id."
          },
          {
            "in": "query",
            "name": "is_required",
            "schema": {
              "description": "Filter on the `is_required` flag of the `applies_to` entry (needs `record_type`).",
              "title": "Is Required",
              "type": [
                "boolean",
                "null"
              ]
            },
            "required": false,
            "description": "Filter on the `is_required` flag of the `applies_to` entry (needs `record_type`)."
          },
          {
            "in": "query",
            "name": "is_active_record",
            "schema": {
              "description": "Filter on the `is_active` flag of the `applies_to` entry (needs `record_type`).",
              "title": "Is Active Record",
              "type": [
                "boolean",
                "null"
              ]
            },
            "required": false,
            "description": "Filter on the `is_active` flag of the `applies_to` entry (needs `record_type`)."
          },
          {
            "in": "query",
            "name": "ordering",
            "schema": {
              "default": "-updated_at",
              "title": "Ordering",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "description": "Number of records to return per page (capped at 100)",
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to return per page (capped at 100)"
          },
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "description": "Number of records to skip before starting to return results",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to skip before starting to return results"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedPublicCustomFieldSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a paginated list of custom field definitions with filtering and ordering options.",
        "tags": [
          "Custom Fields"
        ]
      },
      "post": {
        "operationId": "core_api_public_custom_fields_create_custom_field",
        "summary": "Create custom field",
        "parameters": [],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCustomFieldSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Create a new custom field definition. Supply `applies_to` to bind the field to record types, and `company_ids` (or `company_id`) to restrict it to specific companies.",
        "tags": [
          "Custom Fields"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicCustomFieldSchemaCreateIn"
              }
            }
          },
          "required": true
        },
        "x-mint": {
          "metadata": {
            "description": "Create a new custom field definition."
          }
        }
      }
    },
    "/public/v2/custom-fields/{custom_field_id}/": {
      "get": {
        "operationId": "core_api_public_custom_fields_get_custom_field",
        "summary": "Get custom field",
        "parameters": [
          {
            "in": "path",
            "name": "custom_field_id",
            "schema": {
              "title": "Custom Field Id",
              "type": "integer"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCustomFieldSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a specific custom field definition by id.",
        "tags": [
          "Custom Fields"
        ]
      },
      "put": {
        "operationId": "core_api_public_custom_fields_update_custom_field",
        "summary": "Update custom field",
        "parameters": [
          {
            "in": "path",
            "name": "custom_field_id",
            "schema": {
              "title": "Custom Field Id",
              "type": "integer"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCustomFieldSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Update an existing custom field definition. `applies_to` and `company_ids` are replaced wholesale — send the full desired list. `field_type` cannot be changed after creation.",
        "tags": [
          "Custom Fields"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicCustomFieldSchemaUpdateIn"
              }
            }
          },
          "required": true
        },
        "x-mint": {
          "metadata": {
            "description": "Update an existing custom field definition."
          }
        }
      },
      "delete": {
        "operationId": "core_api_public_custom_fields_delete_custom_field",
        "summary": "Delete custom field",
        "parameters": [
          {
            "in": "path",
            "name": "custom_field_id",
            "schema": {
              "title": "Custom Field Id",
              "type": "integer"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuccessSchema"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Delete a custom field definition. Fails with 422 if any record already has a value stored against this field — clear those values first, or archive the field via `is_active=false` instead.",
        "tags": [
          "Custom Fields"
        ],
        "x-mint": {
          "metadata": {
            "description": "Delete a custom field definition."
          }
        }
      }
    },
    "/public/v2/paper-checks/": {
      "get": {
        "operationId": "core_api_public_paper_checks_list_paper_checks",
        "summary": "List paper checks",
        "parameters": [
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "id",
            "schema": {
              "description": "Filter by paper check IDs",
              "q": "id__in",
              "title": "Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by paper check IDs"
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "description": "Filter by status: 'not_printed', 'printed', or 'archived'",
              "q": "record_status__in",
              "title": "Record Status",
              "items": {
                "type": "string"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by status: 'not_printed', 'printed', or 'archived'"
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "description": "Filter by company IDs",
              "q": "transaction__company_id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by company IDs"
          },
          {
            "in": "query",
            "name": "transaction_type",
            "schema": {
              "description": "Filter by transaction type: 'direct_expense', 'vendor_payment', 'vendor_prepayment', 'customer_refund'",
              "q": "transaction__transaction_type__in",
              "title": "Transaction Type",
              "items": {
                "$ref": "#/components/schemas/PaperCheckSourceRecordType"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by transaction type: 'direct_expense', 'vendor_payment', 'vendor_prepayment', 'customer_refund'"
          },
          {
            "in": "query",
            "name": "vendor_id",
            "schema": {
              "description": "Filter by vendor IDs (for vendor-related checks)",
              "title": "Vendor Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by vendor IDs (for vendor-related checks)"
          },
          {
            "in": "query",
            "name": "customer_id",
            "schema": {
              "description": "Filter by customer IDs (for customer refund checks)",
              "title": "Customer Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by customer IDs (for customer refund checks)"
          },
          {
            "in": "query",
            "name": "account_id",
            "schema": {
              "description": "Filter by bank account IDs",
              "title": "Account Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by bank account IDs"
          },
          {
            "in": "query",
            "name": "start_date",
            "schema": {
              "description": "Filter checks created on or after this date (YYYY-MM-DD)",
              "q": "created_at__date__gte",
              "title": "Start Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false,
            "description": "Filter checks created on or after this date (YYYY-MM-DD)"
          },
          {
            "in": "query",
            "name": "end_date",
            "schema": {
              "description": "Filter checks created on or before this date (YYYY-MM-DD)",
              "q": "created_at__date__lte",
              "title": "End Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false,
            "description": "Filter checks created on or before this date (YYYY-MM-DD)"
          },
          {
            "in": "query",
            "name": "ordering",
            "schema": {
              "default": "-created_at",
              "title": "Ordering",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "description": "Number of records to return per page (capped at 100)",
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to return per page (capped at 100)"
          },
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "description": "Number of records to skip before starting to return results",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to skip before starting to return results"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedPublicPaperCheckSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "\nRetrieve a paginated list of paper checks with filtering options.\n\nPaper checks represent physical checks that can be printed for vendor payments,\ndirect expenses, vendor prepayments, or customer refunds.\n\n**Common use cases:**\n- List all queued checks ready to print: `?record_status=not_printed`\n- List checks for a specific vendor: `?vendor_id=123`\n- List checks within a date range: `?start_date=2024-01-01&end_date=2024-01-31`\n",
        "tags": [
          "Paper Checks"
        ],
        "x-mint": {
          "metadata": {
            "description": "Retrieve a paginated list of paper checks with filtering options."
          }
        }
      }
    },
    "/public/v2/paper-checks/print-now/": {
      "post": {
        "operationId": "core_api_public_paper_checks_print_now",
        "summary": "Print check immediately",
        "parameters": [],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicPaperCheckWithPDFContentSchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "\nCreate and immediately print a paper check for a transaction.\n\nThis endpoint creates a paper check record and generates the PDF in a single operation.\nThe check is immediately marked as PRINTED.\n\n**When to use:**\n- When you need to print a single check right away\n- For on-demand check printing workflows\n\n**Alternative:** Use `POST /print-later/` to queue checks for batch printing.\n\n**Supported transaction types:**\n- Direct expenses\n- Vendor payments\n- Vendor prepayments\n- Customer refunds\n\n**Returns:** The created paper check details along with the PDF content encoded in base64.\n",
        "tags": [
          "Paper Checks"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicPrintNowPayload"
              }
            }
          },
          "required": true
        },
        "x-mint": {
          "metadata": {
            "description": "Create and immediately print a paper check for a transaction."
          }
        }
      }
    },
    "/public/v2/paper-checks/print-later/": {
      "post": {
        "operationId": "core_api_public_paper_checks_print_later",
        "summary": "Queue checks for later printing",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/PublicPaperCheckSchemaOut"
                  },
                  "title": "Response",
                  "type": "array"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "\nCreate paper checks for transactions that will be printed later in a batch.\n\nThis endpoint creates paper check records with status NOT_PRINTED. These checks\ncan then be printed together using the `PUT /print-batch/` endpoint.\n\n**When to use:**\n- When you want to accumulate checks before printing\n- For batch check printing workflows\n- When check numbers need to be assigned in sequence\n\n**Alternative:** Use `POST /print-now/` to print a single check immediately.\n\n**Workflow:**\n1. Queue checks: `POST /print-later/` with transaction IDs\n2. Review queued checks: `GET /paper-checks/?record_status=not_printed`\n3. Print batch: `PUT /print-batch/` with paper check IDs\n\n**Returns:** List of created paper checks with status 'not_printed'.\n",
        "tags": [
          "Paper Checks"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicPrintLaterPayload"
              }
            }
          },
          "required": true
        },
        "x-mint": {
          "metadata": {
            "description": "Create paper checks for transactions that will be printed later in a batch."
          }
        }
      }
    },
    "/public/v2/paper-checks/print-batch/": {
      "put": {
        "operationId": "core_api_public_paper_checks_print_batch",
        "summary": "Batch print paper checks",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicPaperCheckBatchPrintResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "\nPrint multiple queued paper checks in a batch.\n\nThis endpoint prints all specified checks, assigns sequential check numbers,\nand returns a merged PDF containing all checks.\n\n**Prerequisites:**\n- All specified checks must have status 'not_printed'\n- Use `POST /print-later/` to queue checks first\n\n**Check number assignment:**\nCheck numbers are assigned sequentially starting from `first_check_number`.\nThe order of `paper_check_ids` in the request determines:\n1. The order of checks in the PDF\n2. The order of check number assignment\n\n**Example:**\nIf `first_check_number=1001` and you print 3 checks, they will be numbered 1001, 1002, 1003.\n\n**Returns:**\n- `pdf_content`: Base64-encoded PDF with all checks\n- `printed_checks`: List showing each check ID and its assigned check number\n- `total_printed`: Count of checks printed\n",
        "tags": [
          "Paper Checks"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicPrintBatchPayload"
              }
            }
          },
          "required": true
        },
        "x-mint": {
          "metadata": {
            "description": "Print multiple queued paper checks in a batch."
          }
        }
      }
    },
    "/public/v2/paper-checks/{paper_check_id}/": {
      "get": {
        "operationId": "core_api_public_paper_checks_get_paper_check",
        "summary": "Get paper check",
        "parameters": [
          {
            "in": "path",
            "name": "paper_check_id",
            "schema": {
              "title": "Paper Check Id",
              "type": "integer"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicPaperCheckSchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "\nRetrieve a specific paper check by ID.\n\nReturns the full details of a paper check including the associated transaction\ninformation, payee details, and current status.\n",
        "tags": [
          "Paper Checks"
        ],
        "x-mint": {
          "metadata": {
            "description": "Retrieve a specific paper check by ID."
          }
        }
      },
      "delete": {
        "operationId": "core_api_public_paper_checks_delete_paper_check",
        "summary": "Archive paper check",
        "parameters": [
          {
            "in": "path",
            "name": "paper_check_id",
            "schema": {
              "title": "Paper Check Id",
              "type": "integer"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicPaperCheckSchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "\nArchive a paper check by setting its status to ARCHIVED.\n\nArchiving a paper check removes it from active workflows without deleting it.\nThis allows you to:\n- Remove a check from the print queue\n- Create a new check for the same transaction\n- Maintain audit history\n\n**Note:** Archived checks can still be retrieved via the list and get endpoints\nby filtering with `record_status=archived`.\n",
        "tags": [
          "Paper Checks"
        ],
        "x-mint": {
          "metadata": {
            "description": "Archive a paper check by setting its status to ARCHIVED."
          }
        }
      }
    },
    "/public/v2/workflows/": {
      "get": {
        "operationId": "core_api_public_workflows_list_workflows",
        "summary": "List workflows",
        "parameters": [
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "id",
            "schema": {
              "q": "id__in",
              "title": "Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "title": "Company Id",
              "type": [
                "integer",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_type",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/PublicRecordType"
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "is_active",
            "schema": {
              "title": "Is Active",
              "type": [
                "boolean",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "ordering",
            "schema": {
              "default": "-priority,-id",
              "title": "Ordering",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "description": "Number of records to return per page (capped at 100)",
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to return per page (capped at 100)"
          },
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "description": "Number of records to skip before starting to return results",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to skip before starting to return results"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedPublicWorkflowListSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a paginated list of approval workflows with filtering options by company, record type, and active status.",
        "tags": [
          "Approval Policies"
        ]
      }
    },
    "/public/v2/workflows/execution-states/": {
      "get": {
        "operationId": "core_api_public_workflows_list_execution_states",
        "summary": "List execution states",
        "parameters": [
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "workflow_id",
            "schema": {
              "q": "workflow_id__in",
              "title": "Workflow Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "status",
            "schema": {
              "q": "status__in",
              "title": "Status",
              "items": {
                "type": "string"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_type",
            "schema": {
              "title": "Record Type",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "initiator_id",
            "schema": {
              "q": "initiator_id__in",
              "title": "Initiator Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "description": "Number of records to return per page (capped at 100)",
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to return per page (capped at 100)"
          },
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "description": "Number of records to skip before starting to return results",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to skip before starting to return results"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedPublicWorkflowExecutionStateSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a paginated list of workflow execution states (approval statuses for records).",
        "tags": [
          "Approval Policies"
        ]
      }
    },
    "/public/v2/workflows/execution-states/{state_id}/": {
      "get": {
        "operationId": "core_api_public_workflows_get_execution_state",
        "summary": "Get execution state by ID",
        "parameters": [
          {
            "in": "path",
            "name": "state_id",
            "schema": {
              "title": "State Id",
              "type": "integer"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicWorkflowExecutionStateSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a single workflow execution state by its ID.",
        "tags": [
          "Approval Policies"
        ]
      }
    },
    "/public/v2/workflows/execution-states/{state_id}/actions/": {
      "get": {
        "operationId": "core_api_public_workflows_get_execution_state_actions",
        "summary": "Get approval actions for execution state",
        "parameters": [
          {
            "in": "path",
            "name": "state_id",
            "schema": {
              "title": "State Id",
              "type": "integer"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/PublicApprovalActionSchemaOut"
                  },
                  "title": "Response",
                  "type": "array"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve all approval actions (history) for a specific workflow execution state.",
        "tags": [
          "Approval Policies"
        ]
      }
    },
    "/public/v2/workflows/actions/": {
      "get": {
        "operationId": "core_api_public_workflows_list_approval_actions",
        "summary": "List approval actions",
        "parameters": [
          {
            "in": "query",
            "name": "workflow_execution_state_id",
            "schema": {
              "q": "workflow_execution_state_id__in",
              "title": "Workflow Execution State Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_type",
            "schema": {
              "title": "Record Type",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_id",
            "schema": {
              "title": "Record Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "action_type",
            "schema": {
              "q": "action_type__in",
              "title": "Action Type",
              "items": {
                "type": "string"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "approver_id",
            "schema": {
              "q": "approver_id__in",
              "title": "Approver Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "start_date",
            "schema": {
              "title": "Start Date",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "end_date",
            "schema": {
              "title": "End Date",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "description": "Number of records to return per page (capped at 100)",
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to return per page (capped at 100)"
          },
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "description": "Number of records to skip before starting to return results",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to skip before starting to return results"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedPublicApprovalActionSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a paginated list of approval actions (history) with filtering options.",
        "tags": [
          "Approval Policies"
        ]
      }
    },
    "/public/v2/workflows/roles/": {
      "get": {
        "operationId": "core_api_public_workflows_get_workflow_roles",
        "summary": "Get roles for workflow conditions",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/PublicRoleMetadataSchemaOut"
                  },
                  "title": "Response",
                  "type": "array"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Returns all active roles that can be used in workflow conditions.",
        "tags": [
          "Approval Policies"
        ]
      }
    },
    "/public/v2/workflows/{workflow_id}/": {
      "get": {
        "operationId": "core_api_public_workflows_get_workflow",
        "summary": "Get workflow by ID",
        "parameters": [
          {
            "in": "path",
            "name": "workflow_id",
            "schema": {
              "title": "Workflow Id",
              "type": "integer"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicWorkflowSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a single approval workflow by its ID, including all steps, conditions, and approvers.",
        "tags": [
          "Approval Policies"
        ]
      }
    },
    "/public/v2/workflows/{workflow_id}/versions/": {
      "get": {
        "operationId": "core_api_public_workflows_get_workflow_versions",
        "summary": "Get workflow version history",
        "parameters": [
          {
            "in": "path",
            "name": "workflow_id",
            "schema": {
              "title": "Workflow Id",
              "type": "integer"
            },
            "required": true
          },
          {
            "in": "query",
            "name": "include_snapshot",
            "schema": {
              "default": false,
              "title": "Include Snapshot",
              "type": "boolean"
            },
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/PublicWorkflowVersionSchemaOut"
                  },
                  "title": "Response",
                  "type": "array"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve version history for a workflow including changes, timestamps, and optionally full snapshots.",
        "tags": [
          "Approval Policies"
        ]
      }
    },
    "/public/v2/inbox/": {
      "get": {
        "operationId": "core_api_public_inbox_inbox_summary",
        "summary": "Get inbox summary",
        "parameters": [
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicInboxSummarySchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Get counts of pending approvals in the inbox for the entire organization.",
        "tags": [
          "Inbox"
        ]
      }
    },
    "/public/v2/inbox/transactions/": {
      "get": {
        "operationId": "core_api_public_inbox_transactions_inbox",
        "summary": "List transactions inbox",
        "parameters": [
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "transaction_type",
            "schema": {
              "title": "Transaction Type",
              "items": {
                "type": "string"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "approval_status",
            "schema": {
              "title": "Approval Status",
              "items": {
                "type": "string"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "start_date",
            "schema": {
              "title": "Start Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "end_date",
            "schema": {
              "title": "End Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "customer_id",
            "schema": {
              "title": "Customer Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_id",
            "schema": {
              "q": "record_id__in",
              "title": "Record Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "transaction_id",
            "schema": {
              "title": "Transaction Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "min_amount",
            "schema": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Min Amount"
            },
            "required": false
          },
          {
            "in": "query",
            "name": "max_amount",
            "schema": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Max Amount"
            },
            "required": false
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "description": "Number of records to return per page (capped at 100)",
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to return per page (capped at 100)"
          },
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "description": "Number of records to skip before starting to return results",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to skip before starting to return results"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedPublicTransactionInboxSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve all transactions (invoices, bills, purchase orders, sales orders, journal entries) with workflow approval status for the organization.",
        "tags": [
          "Inbox"
        ]
      }
    },
    "/public/v2/inbox/records/": {
      "get": {
        "operationId": "core_api_public_inbox_records_inbox",
        "summary": "List records inbox",
        "parameters": [
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_type",
            "schema": {
              "title": "Record Type",
              "items": {
                "type": "string"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "approval_status",
            "schema": {
              "title": "Approval Status",
              "items": {
                "type": "string"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_id",
            "schema": {
              "q": "record_id__in",
              "title": "Record Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "description": "Number of records to return per page (capped at 100)",
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to return per page (capped at 100)"
          },
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "description": "Number of records to skip before starting to return results",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to skip before starting to return results"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedPublicRecordInboxSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve all non-monetary records (customers, vendors) with workflow approval status for the organization.",
        "tags": [
          "Inbox"
        ]
      }
    },
    "/public/v2/inbox/transactions/{record_id}/": {
      "get": {
        "operationId": "core_api_public_inbox_transaction_inbox_detail",
        "summary": "Get transaction inbox details",
        "parameters": [
          {
            "in": "path",
            "name": "record_id",
            "schema": {
              "title": "Record Id",
              "type": "integer"
            },
            "required": true
          },
          {
            "in": "query",
            "name": "transaction_type",
            "schema": {
              "title": "Transaction Type",
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/PublicTransactionInboxSchemaOut"
                    },
                    {
                      "additionalProperties": true,
                      "type": "object"
                    }
                  ],
                  "title": "Response"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve approval details for a specific transaction. Returns empty dict if not in inbox.",
        "tags": [
          "Inbox"
        ]
      }
    },
    "/public/v2/inbox/records/{record_id}/": {
      "get": {
        "operationId": "core_api_public_inbox_record_inbox_detail",
        "summary": "Get record inbox details",
        "parameters": [
          {
            "in": "path",
            "name": "record_id",
            "schema": {
              "title": "Record Id",
              "type": "integer"
            },
            "required": true
          },
          {
            "in": "query",
            "name": "record_type",
            "schema": {
              "title": "Record Type",
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/PublicRecordInboxSchemaOut"
                    },
                    {
                      "additionalProperties": true,
                      "type": "object"
                    }
                  ],
                  "title": "Response"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve approval details for a specific non-monetary record. Returns empty dict if not in inbox.",
        "tags": [
          "Inbox"
        ]
      }
    },
    "/public/v2/fixed-assets/": {
      "get": {
        "operationId": "core_api_public_v2_fixed_asset_list_fixed_assets",
        "summary": "List fixed assets",
        "parameters": [
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "q": "company_id__in",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "q": "number__in",
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "status",
            "schema": {
              "title": "Status",
              "items": {
                "$ref": "#/components/schemas/FixedAssetStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "q": "record_status__in",
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "purchase_date_gte",
            "schema": {
              "q": "purchase_date__gte",
              "title": "Purchase Date Gte",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "purchase_date_lte",
            "schema": {
              "q": "purchase_date__lte",
              "title": "Purchase Date Lte",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "vendor_id",
            "schema": {
              "q": "vendor_id__in",
              "title": "Vendor Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "customer_id",
            "schema": {
              "q": "customer_id__in",
              "title": "Customer Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "ordering",
            "schema": {
              "default": "id",
              "title": "Ordering",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "description": "Number of records to return per page (capped at 100)",
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to return per page (capped at 100)"
          },
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "description": "Number of records to skip before starting to return results",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to skip before starting to return results"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedV2FixedAssetSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a paginated list of fixed assets with multi-book depreciation schedules.",
        "tags": [
          "Fixed Assets"
        ]
      },
      "post": {
        "operationId": "core_api_public_v2_fixed_asset_create_fixed_asset",
        "summary": "Create fixed asset",
        "parameters": [],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2FixedAssetSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Create a new fixed asset with multi-book depreciation schedules.",
        "tags": [
          "Fixed Assets"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/V2FixedAssetSchemaCreateIn"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v2/fixed-assets/{fixed_asset_number}/": {
      "get": {
        "operationId": "core_api_public_v2_fixed_asset_get_fixed_asset",
        "summary": "Get fixed asset",
        "parameters": [
          {
            "in": "path",
            "name": "fixed_asset_number",
            "schema": {
              "title": "Fixed Asset Number",
              "type": "integer"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2FixedAssetSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a specific fixed asset by number with multi-book depreciation schedules.",
        "tags": [
          "Fixed Assets"
        ]
      },
      "put": {
        "operationId": "core_api_public_v2_fixed_asset_update_fixed_asset",
        "summary": "Update fixed asset",
        "parameters": [
          {
            "in": "path",
            "name": "fixed_asset_number",
            "schema": {
              "title": "Fixed Asset Number",
              "type": "integer"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2FixedAssetSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Fully update a fixed asset with multi-book depreciation schedules.",
        "tags": [
          "Fixed Assets"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/V2FixedAssetSchemaUpdateIn"
              }
            }
          },
          "required": true
        }
      },
      "patch": {
        "operationId": "core_api_public_v2_fixed_asset_patch_fixed_asset",
        "summary": "Partial update fixed asset",
        "parameters": [
          {
            "in": "path",
            "name": "fixed_asset_number",
            "schema": {
              "title": "Fixed Asset Number",
              "type": "integer"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2FixedAssetSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Partially update a fixed asset. If depreciation_schedules is sent, it replaces all existing schedules.",
        "tags": [
          "Fixed Assets"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/V2FixedAssetSchemaPatchIn"
              }
            }
          },
          "required": true
        }
      },
      "delete": {
        "operationId": "core_api_public_v2_fixed_asset_delete_fixed_asset",
        "summary": "Archive fixed asset",
        "parameters": [
          {
            "in": "path",
            "name": "fixed_asset_number",
            "schema": {
              "title": "Fixed Asset Number",
              "type": "integer"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuccessSchema"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Archive a fixed asset (soft delete). This also archives any posted depreciation transactions.",
        "tags": [
          "Fixed Assets"
        ]
      }
    },
    "/public/v2/fixed-assets/{fixed_asset_number}/schedules/{depreciation_book_id}/schedule/": {
      "get": {
        "operationId": "core_api_public_v2_fixed_asset_get_fixed_asset_book_schedule",
        "summary": "Get depreciation schedule by book",
        "parameters": [
          {
            "in": "path",
            "name": "fixed_asset_number",
            "schema": {
              "title": "Fixed Asset Number",
              "type": "integer"
            },
            "required": true
          },
          {
            "in": "path",
            "name": "depreciation_book_id",
            "schema": {
              "title": "Depreciation Book Id",
              "type": "integer"
            },
            "required": true
          },
          {
            "in": "query",
            "name": "from_date",
            "schema": {
              "title": "From Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "to_date",
            "schema": {
              "title": "To Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/PublicDepreciationScheduleItemOut"
                  },
                  "title": "Response",
                  "type": "array"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Chronological depreciation, disposal, and revaluation events for one fixed asset and one depreciation book, optionally narrowed by `from_date` and `to_date`.",
        "tags": [
          "Fixed Assets"
        ],
        "x-mint": {
          "metadata": {
            "description": "Chronological depreciation, disposal, and revaluation events for one fixed asset and one depreciation book, optionally narrowed by `from_date` and…"
          }
        }
      }
    },
    "/public/v2/webhooks/": {
      "post": {
        "operationId": "core_outbound_webhooks_api_create_webhook",
        "summary": "Create webhook",
        "parameters": [],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookCreateSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Register a webhook endpoint for events. The signing secret is returned once and never shown again.",
        "tags": [
          "Webhooks"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WebhookSchemaCreateIn"
              }
            }
          },
          "required": true
        }
      },
      "get": {
        "operationId": "core_outbound_webhooks_api_list_webhooks",
        "summary": "List webhooks",
        "parameters": [
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "is_active",
            "schema": {
              "q": "is_active",
              "title": "Is Active",
              "type": [
                "boolean",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "ordering",
            "schema": {
              "default": "-created_at",
              "title": "Ordering",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "description": "Number of records to return per page (capped at 100)",
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to return per page (capped at 100)"
          },
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "description": "Number of records to skip before starting to return results",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to skip before starting to return results"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedWebhookSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a paginated list of registered webhooks.",
        "tags": [
          "Webhooks"
        ]
      }
    },
    "/public/v2/webhooks/topics/": {
      "get": {
        "operationId": "core_outbound_webhooks_api_list_webhook_topics",
        "summary": "List webhook topics",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/WebhookTopicSchemaOut"
                  },
                  "title": "Response",
                  "type": "array"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "List all available topics a webhook can subscribe to.",
        "tags": [
          "Webhooks"
        ]
      }
    },
    "/public/v2/webhooks/{webhook_uuid}/": {
      "get": {
        "operationId": "core_outbound_webhooks_api_get_webhook",
        "summary": "Get webhook",
        "parameters": [
          {
            "in": "path",
            "name": "webhook_uuid",
            "schema": {
              "title": "Webhook Uuid",
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a specific webhook by UUID.",
        "tags": [
          "Webhooks"
        ]
      },
      "put": {
        "operationId": "core_outbound_webhooks_api_update_webhook",
        "summary": "Update webhook",
        "parameters": [
          {
            "in": "path",
            "name": "webhook_uuid",
            "schema": {
              "title": "Webhook Uuid",
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Update a webhook: change the URL, replace topics, or toggle active state.",
        "tags": [
          "Webhooks"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WebhookSchemaUpdateIn"
              }
            }
          },
          "required": true
        }
      },
      "patch": {
        "operationId": "core_outbound_webhooks_api_patch_webhook",
        "summary": "Patch webhook",
        "parameters": [
          {
            "in": "path",
            "name": "webhook_uuid",
            "schema": {
              "title": "Webhook Uuid",
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Partially update a webhook (URL, topics, active state).",
        "tags": [
          "Webhooks"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WebhookSchemaUpdateIn"
              }
            }
          },
          "required": true
        }
      },
      "delete": {
        "operationId": "core_outbound_webhooks_api_delete_webhook",
        "summary": "Delete webhook",
        "parameters": [
          {
            "in": "path",
            "name": "webhook_uuid",
            "schema": {
              "title": "Webhook Uuid",
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuccessSchema"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Delete a webhook by UUID.",
        "tags": [
          "Webhooks"
        ]
      }
    },
    "/public/v2/webhooks/{webhook_uuid}/deliveries/": {
      "get": {
        "operationId": "core_outbound_webhooks_api_list_webhook_deliveries",
        "summary": "List webhook deliveries",
        "parameters": [
          {
            "in": "path",
            "name": "webhook_uuid",
            "schema": {
              "title": "Webhook Uuid",
              "type": "string"
            },
            "required": true
          },
          {
            "in": "query",
            "name": "ordering",
            "schema": {
              "default": "-created_at",
              "title": "Ordering",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "description": "Number of records to return per page (capped at 100)",
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to return per page (capped at 100)"
          },
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "description": "Number of records to skip before starting to return results",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to skip before starting to return results"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedWebhookDeliverySchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "List delivery attempts (events) for a specific webhook.",
        "tags": [
          "Webhooks"
        ]
      }
    },
    "/public/v2/depreciation-books/": {
      "get": {
        "operationId": "core_api_public_v2_depreciation_books_list_depreciation_books",
        "summary": "List depreciation books",
        "parameters": [
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "description": "Number of records to return per page (capped at 100)",
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to return per page (capped at 100)"
          },
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "description": "Number of records to skip before starting to return results",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to skip before starting to return results"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedDepreciationBookSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a paginated list of depreciation books available for the organization.\n\nEach organization has at least one book: **BOOK** (the posting book that posts to GL).\nAdditional books like FEDERAL, AMT, or STATE_* may be configured for tax compliance.\n\nUse the `code` field when creating or updating fixed assets with multi-book depreciation schedules.",
        "tags": [
          "Depreciation Books"
        ],
        "x-mint": {
          "metadata": {
            "description": "Retrieve a paginated list of depreciation books available for the organization."
          }
        }
      }
    },
    "/public/v2/depreciation-books/{book_code}/": {
      "get": {
        "operationId": "core_api_public_v2_depreciation_books_get_depreciation_book",
        "summary": "Get depreciation book by code",
        "parameters": [
          {
            "in": "path",
            "name": "book_code",
            "schema": {
              "title": "Book Code",
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DepreciationBookSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a specific depreciation book by its code (e.g., \"BOOK\", \"FEDERAL\", \"AMT\").\n\nThe `is_posting` field indicates whether this book posts to the General Ledger.\nOnly the BOOK book (code=\"BOOK\") is a posting book.",
        "tags": [
          "Depreciation Books"
        ],
        "x-mint": {
          "metadata": {
            "description": "Retrieve a specific depreciation book by its code (e.g., \"BOOK\", \"FEDERAL\", \"AMT\")."
          }
        }
      }
    },
    "/public/v2/intercompany-journal-entries/": {
      "get": {
        "operationId": "list_intercompany_journal_entries",
        "summary": "List intercompany journal entries",
        "parameters": [
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "q": "number__in",
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "start_date",
            "schema": {
              "q": "date__gte",
              "title": "Start Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "end_date",
            "schema": {
              "q": "date__lte",
              "title": "End Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "q": "transactions__record_status__in",
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "approval_status",
            "schema": {
              "title": "Approval Status",
              "items": {
                "type": "string"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "approval_status_scope",
            "schema": {
              "title": "Approval Status Scope",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "amount_gte",
            "schema": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "q": "transactions__amount__gte",
              "title": "Amount Gte"
            },
            "required": false
          },
          {
            "in": "query",
            "name": "amount_lte",
            "schema": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "q": "transactions__amount__lte",
              "title": "Amount Lte"
            },
            "required": false
          },
          {
            "in": "query",
            "name": "ordering",
            "schema": {
              "default": "id",
              "title": "Ordering",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "description": "Number of records to return per page (capped at 100)",
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to return per page (capped at 100)"
          },
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "description": "Number of records to skip before starting to return results",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to skip before starting to return results"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedPublicIJESchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a paginated list of intercompany journal entries for the organization. Use the `company_id` filter to find IJEs that involve specific companies.",
        "tags": [
          "Intercompany Journal Entries"
        ]
      },
      "post": {
        "operationId": "create_intercompany_journal_entry",
        "summary": "Create intercompany journal entry",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicIJESchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Create a new intercompany journal entry. Lines must span at least two distinct companies and total debits must equal total credits.",
        "tags": [
          "Intercompany Journal Entries"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicIJESchemaCreateIn"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v2/intercompany-journal-entries/{record_number}/": {
      "get": {
        "operationId": "get_intercompany_journal_entry",
        "summary": "Get intercompany journal entry",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "title": "Record Number",
              "type": "integer"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicIJESchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a single intercompany journal entry by its record number.",
        "tags": [
          "Intercompany Journal Entries"
        ]
      },
      "put": {
        "operationId": "update_intercompany_journal_entry",
        "summary": "Update intercompany journal entry",
        "parameters": [
          {
            "in": "path",
            "name": "record_number",
            "schema": {
              "title": "Record Number",
              "type": "integer"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicIJESchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Full replacement update of an intercompany journal entry. Only draft records can be updated; attempting to update a posted record returns 422.",
        "tags": [
          "Intercompany Journal Entries"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicIJESchemaCreateIn"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v2/vat-rates/": {
      "get": {
        "operationId": "core_api_public_v2_vat_rates_list_vat_rates",
        "summary": "List VAT rates",
        "parameters": [
          {
            "in": "query",
            "name": "country_code",
            "schema": {
              "q": "country_code__in",
              "title": "Country Code",
              "items": {
                "$ref": "#/components/schemas/VatCountries"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "rate_type",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/VatRateType"
                },
                {
                  "type": "null"
                }
              ],
              "q": "rate_type"
            },
            "required": false
          },
          {
            "in": "query",
            "name": "tax_type",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/VatTaxType"
                },
                {
                  "type": "null"
                }
              ],
              "q": "tax_type"
            },
            "required": false
          },
          {
            "in": "query",
            "name": "is_active",
            "schema": {
              "q": "is_active",
              "title": "Is Active",
              "type": [
                "boolean",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "description": "Number of records to return per page (capped at 100)",
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to return per page (capped at 100)"
          },
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "description": "Number of records to skip before starting to return results",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to skip before starting to return results"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedPublicVatRateSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a paginated list of VAT rates available for the organization.\n\nUse the `id` field as `vat_rate_id` when creating or updating transaction line items\n(invoices, bills, journal entries, etc.) with VAT tax data.\n\nFilter by `country_code`, `rate_type`, `tax_type`, or `is_active` to narrow results.",
        "tags": [
          "VAT Rates"
        ],
        "x-mint": {
          "metadata": {
            "description": "Retrieve a paginated list of VAT rates available for the organization."
          }
        }
      }
    },
    "/public/v2/vat-rates/{vat_rate_id}/": {
      "get": {
        "operationId": "core_api_public_v2_vat_rates_get_vat_rate",
        "summary": "Get VAT rate by ID",
        "parameters": [
          {
            "in": "path",
            "name": "vat_rate_id",
            "schema": {
              "title": "Vat Rate Id",
              "type": "integer"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicVatRateSchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a specific VAT rate by its ID.\n\nReturns the full VAT rate details including country, rate percentage, type, and validity dates.",
        "tags": [
          "VAT Rates"
        ]
      }
    },
    "/public/v2/gst-tax-rates/": {
      "get": {
        "operationId": "core_api_public_v2_gst_tax_rates_list_gst_tax_rates",
        "summary": "List GST tax rates",
        "parameters": [
          {
            "in": "query",
            "name": "country_code",
            "schema": {
              "q": "country_code__in",
              "title": "Country Code",
              "items": {
                "$ref": "#/components/schemas/GstCountries"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "tax_treatment",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/GstTreatmentType"
                },
                {
                  "type": "null"
                }
              ],
              "q": "tax_treatment"
            },
            "required": false
          },
          {
            "in": "query",
            "name": "is_active",
            "schema": {
              "q": "is_active",
              "title": "Is Active",
              "type": [
                "boolean",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "description": "Number of records to return per page (capped at 100)",
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to return per page (capped at 100)"
          },
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "description": "Number of records to skip before starting to return results",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to skip before starting to return results"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedPublicGstTaxRateSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a paginated list of GST tax rates available for the organization.\n\nUse the `id` field as `gst_tax_rate_id` when creating or updating transaction line items\n(invoices, bills, journal entries, etc.) with GST tax data.\n\nIncludes component breakdown (e.g., CGST + SGST for India intra-state, GST + PST for\nCanadian provinces) when applicable.\n\nFilter by `country_code`, `tax_treatment`, or `is_active` to narrow results.",
        "tags": [
          "GST Tax Rates"
        ],
        "x-mint": {
          "metadata": {
            "description": "Retrieve a paginated list of GST tax rates available for the organization."
          }
        }
      }
    },
    "/public/v2/gst-tax-rates/{gst_tax_rate_id}/": {
      "get": {
        "operationId": "core_api_public_v2_gst_tax_rates_get_gst_tax_rate",
        "summary": "Get GST tax rate by ID",
        "parameters": [
          {
            "in": "path",
            "name": "gst_tax_rate_id",
            "schema": {
              "title": "Gst Tax Rate Id",
              "type": "integer"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicGstTaxRateSchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a specific GST tax rate by its ID.\n\nReturns the full GST tax rate details including country, treatment type, rate percentage,\nvalidity dates, and component breakdown.",
        "tags": [
          "GST Tax Rates"
        ],
        "x-mint": {
          "metadata": {
            "description": "Retrieve a specific GST tax rate by its ID."
          }
        }
      }
    },
    "/public/v2/product-tax-codes/": {
      "get": {
        "operationId": "core_api_public_v2_product_tax_codes_list_product_tax_codes",
        "summary": "List product tax codes",
        "parameters": [
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "code",
            "schema": {
              "q": "code__icontains",
              "title": "Code",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "description",
            "schema": {
              "q": "description__icontains",
              "title": "Description",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "source",
            "schema": {
              "q": "source__in",
              "title": "Source",
              "items": {
                "$ref": "#/components/schemas/Sources"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "is_active",
            "schema": {
              "q": "is_active",
              "title": "Is Active",
              "type": [
                "boolean",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "is_global",
            "schema": {
              "q": "is_global",
              "title": "Is Global",
              "type": [
                "boolean",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "ordering",
            "schema": {
              "default": "id",
              "title": "Ordering",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "description": "Number of records to return per page (capped at 100)",
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to return per page (capped at 100)"
          },
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "description": "Number of records to skip before starting to return results",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to skip before starting to return results"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedPublicProductTaxCodeSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve product tax codes available to the organization, including global tax codes.",
        "tags": [
          "Product Tax Codes"
        ]
      },
      "post": {
        "operationId": "core_api_public_v2_product_tax_codes_create_product_tax_code",
        "summary": "Create product tax code",
        "parameters": [],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProductTaxCodeSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Create an organization-scoped product tax code. Global product tax codes are system managed.",
        "tags": [
          "Product Tax Codes"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicProductTaxCodeSchemaCreateIn"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v2/product-tax-codes/{product_tax_code_id}/": {
      "get": {
        "operationId": "core_api_public_v2_product_tax_codes_get_product_tax_code",
        "summary": "Get product tax code",
        "parameters": [
          {
            "in": "path",
            "name": "product_tax_code_id",
            "schema": {
              "title": "Product Tax Code Id",
              "type": "integer"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProductTaxCodeSchemaOut"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve an organization-scoped product tax code. Global product tax codes are list-only.",
        "tags": [
          "Product Tax Codes"
        ]
      },
      "put": {
        "operationId": "core_api_public_v2_product_tax_codes_update_product_tax_code",
        "summary": "Update product tax code",
        "parameters": [
          {
            "in": "path",
            "name": "product_tax_code_id",
            "schema": {
              "title": "Product Tax Code Id",
              "type": "integer"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProductTaxCodeSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Update an organization-scoped product tax code. Global product tax codes are system managed.",
        "tags": [
          "Product Tax Codes"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicProductTaxCodeSchemaUpdateIn"
              }
            }
          },
          "required": true
        }
      },
      "delete": {
        "operationId": "core_api_public_v2_product_tax_codes_delete_product_tax_code",
        "summary": "Delete product tax code",
        "parameters": [
          {
            "in": "path",
            "name": "product_tax_code_id",
            "schema": {
              "title": "Product Tax Code Id",
              "type": "integer"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuccessSchema"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Delete an organization-scoped product tax code. Global product tax codes are system managed.",
        "tags": [
          "Product Tax Codes"
        ]
      }
    },
    "/public/v2/bank-match/populate/": {
      "post": {
        "operationId": "core_api_public_v2_bank_match_populate_bank_match_suggestions_endpoint",
        "summary": "Run the bank-match pipeline now",
        "parameters": [],
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuccessSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Suggestions now refresh automatically every 5 minutes — calling this\nendpoint is no longer required but remains available for backward\ncompatibility. Returns `202 Accepted` immediately.\n\nPoll `GET /status-counts/` to watch progress, then use\n`GET /suggestions/` to read the results.",
        "tags": [
          "Bank Match"
        ],
        "x-mint": {
          "metadata": {
            "description": "Suggestions now refresh automatically every 5 minutes — calling this"
          }
        }
      }
    },
    "/public/v2/bank-match/suggestions/": {
      "get": {
        "operationId": "core_api_public_v2_bank_match_list_bank_match_suggestions_endpoint",
        "summary": "List bank-match suggestions",
        "parameters": [
          {
            "in": "query",
            "name": "financial_transaction_id",
            "schema": {
              "title": "Financial Transaction Id",
              "type": [
                "integer",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "suggestion_type",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SuggestionType"
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "is_highest_ranked",
            "schema": {
              "title": "Is Highest Ranked",
              "type": [
                "boolean",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "description": "Number of records to return per page (capped at 100)",
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to return per page (capped at 100)"
          },
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "description": "Number of records to skip before starting to return results",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to skip before starting to return results"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedPublicBankMatchSuggestionSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Return the suggestions DualEntry has produced for your organization, newest\nfirst. Each suggestion pairs a bank-feed row with an accounting transaction —\neither one you already have on file (`match`) or one we'd draft on your\nbehalf if you accept it (`create`).\n\nFilters:\n\n- `financial_transaction_id` — see every candidate match for one bank row.\n- `suggestion_type` — narrow to `match` or `create`.\n- `is_highest_ranked=true` — return just the top pick per bank row (the same\n  one the DualEntry UI defaults to). Leave off to see all candidates.",
        "tags": [
          "Bank Match"
        ],
        "x-mint": {
          "metadata": {
            "description": "Return the suggestions DualEntry has produced for your organization, newest"
          }
        }
      }
    },
    "/public/v2/bank-match/suggestions/{suggestion_id}/": {
      "get": {
        "operationId": "core_api_public_v2_bank_match_get_bank_match_suggestion_endpoint",
        "summary": "Get one bank-match suggestion",
        "parameters": [
          {
            "in": "path",
            "name": "suggestion_id",
            "schema": {
              "title": "Suggestion Id",
              "type": "integer"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicBankMatchSuggestionSchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Fetch a single suggestion by id. Returns 404 if the id doesn't exist or belongs to another organization.",
        "tags": [
          "Bank Match"
        ]
      }
    },
    "/public/v2/bank-match/status-counts/": {
      "get": {
        "operationId": "core_api_public_v2_bank_match_get_bank_match_status_counts_endpoint",
        "summary": "Check bank-match pipeline progress",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicBankMatchStatusCountsSchemaOut"
                }
              }
            }
          }
        },
        "description": "See how many bank-feed rows are sitting in each pipeline stage. Useful after\ncalling `/populate/` — you can poll this every few seconds to know when the\nmatcher is done.\n\nThe pipeline is still working while any of these are non-zero:\n`unprocessed`, `awaiting_ai`, `ai_in_progress`. Once all three hit zero,\nyou're done, and the terminal stages (`ai_suggested`,\n`deterministic_suggested`, `matched`, `ai_no_match`, `no_match`, `excluded`)\nhold the outcome.\n\nExpired bank-feed rows are excluded so the numbers reflect real pending work.",
        "tags": [
          "Bank Match"
        ],
        "x-mint": {
          "metadata": {
            "description": "See how many bank-feed rows are sitting in each pipeline stage."
          }
        }
      }
    },
    "/public/v2/bank-match/bank-transactions/": {
      "get": {
        "operationId": "core_api_public_v2_bank_match_list_bank_transactions_endpoint",
        "summary": "List bank-feed transactions",
        "parameters": [
          {
            "in": "query",
            "name": "financial_account_id",
            "schema": {
              "description": "Limit to a single bank/credit-card account.",
              "title": "Financial Account Id",
              "type": [
                "integer",
                "null"
              ]
            },
            "required": false,
            "description": "Limit to a single bank/credit-card account."
          },
          {
            "in": "query",
            "name": "matching_status",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/MatchingStatus"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Pipeline stage filter, e.g. `unprocessed`, `ai_suggested`, `matched`, `no_match`, `excluded`."
            },
            "required": false,
            "description": "Pipeline stage filter, e.g. `unprocessed`, `ai_suggested`, `matched`, `no_match`, `excluded`."
          },
          {
            "in": "query",
            "name": "date_from",
            "schema": {
              "description": "Inclusive lower bound on `date`.",
              "title": "Date From",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false,
            "description": "Inclusive lower bound on `date`."
          },
          {
            "in": "query",
            "name": "date_to",
            "schema": {
              "description": "Inclusive upper bound on `date`.",
              "title": "Date To",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false,
            "description": "Inclusive upper bound on `date`."
          },
          {
            "in": "query",
            "name": "is_posted",
            "schema": {
              "description": "`true` for posted-only, `false` for pending-only, omit for both.",
              "title": "Is Posted",
              "type": [
                "boolean",
                "null"
              ]
            },
            "required": false,
            "description": "`true` for posted-only, `false` for pending-only, omit for both."
          },
          {
            "in": "query",
            "name": "include_expired",
            "schema": {
              "default": false,
              "description": "By default expired rows are hidden; pass `true` to see them.",
              "title": "Include Expired",
              "type": "boolean"
            },
            "required": false,
            "description": "By default expired rows are hidden; pass `true` to see them."
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "description": "Number of records to return per page (capped at 100)",
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to return per page (capped at 100)"
          },
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "description": "Number of records to skip before starting to return results",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to skip before starting to return results"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedPublicBankTransactionSchemaOut"
                }
              }
            }
          }
        },
        "description": "Return bank-feed rows (one per debit/credit on a connected bank or credit-card\naccount), newest first. Use this to drive reconciliation externally: page\nthrough the rows, decide which DualEntry transaction each one corresponds to,\nthen `POST /matches/` to record the pairing.",
        "tags": [
          "Bank Match"
        ],
        "x-mint": {
          "metadata": {
            "description": "Return bank-feed rows (one per debit/credit on a connected bank or credit-card"
          }
        }
      }
    },
    "/public/v2/bank-match/bank-transactions/{financial_transaction_id}/": {
      "get": {
        "operationId": "core_api_public_v2_bank_match_get_bank_transaction_endpoint",
        "summary": "Get one bank-feed transaction",
        "parameters": [
          {
            "in": "path",
            "name": "financial_transaction_id",
            "schema": {
              "title": "Financial Transaction Id",
              "type": "integer"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicBankTransactionSchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Fetch a single bank-feed row by id. Returns 404 if it doesn't exist or belongs to another organization.",
        "tags": [
          "Bank Match"
        ]
      }
    },
    "/public/v2/bank-match/matches/": {
      "post": {
        "operationId": "core_api_public_v2_bank_match_create_bank_match_endpoint",
        "summary": "Confirm a bank-match",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicBankMatchSuccessSchema"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Record that bank-feed row(s) correspond to DualEntry transaction(s)/entry(s).\nOn success each row's `matching_status` flips to `matched`, the pairing shows\nup in the DualEntry reconciliation view, and the response returns the\n`match_group_id`.\n\nPass singular fields for a 1:1 match, or `financial_transaction_ids` plus\n`transaction_ids`/`entry_ids` for an M:N match.\n\nConstraints (validated server-side and reported as 400 on failure):\n\n- All bank-feed rows must be on the same financial account as the DualEntry\n  targets' bank/credit-card entries.\n- Amounts must reconcile (sum of bank amounts equals net entry amount) in a\n  single currency.\n- All bank-feed rows must share the same sign; balance alone is not enough.\n- No item may already be part of another match (call `/unmatches/` first\n  to redo a pairing).\n\nThis endpoint kicks a fresh suggestion run for the org after a successful match\nso future suggestions reflect the new state.",
        "tags": [
          "Bank Match"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicBankMatchCreateSchemaIn"
              }
            }
          },
          "required": true
        },
        "x-mint": {
          "metadata": {
            "description": "Record that bank-feed row(s) correspond to DualEntry transaction(s)/entry(s)."
          }
        }
      }
    },
    "/public/v2/bank-match/unmatches/": {
      "post": {
        "operationId": "core_api_public_v2_bank_match_delete_bank_match_endpoint",
        "summary": "Undo a bank-match",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuccessSchema"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Tear down whatever match the given bank-feed row (or `match_group_id`) belongs\nto. Safe to call when nothing is matched — it just no-ops. Unmatching any one\nmember of a group, or passing its `match_group_id`, dissolves the entire group.\n\nProvide exactly one of `financial_transaction_id` or `match_group_id`.",
        "tags": [
          "Bank Match"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicBankMatchUnmatchSchemaIn"
              }
            }
          },
          "required": true
        },
        "x-mint": {
          "metadata": {
            "description": "Tear down whatever match the given bank-feed row (or `match_group_id`) belongs"
          }
        }
      }
    },
    "/public/v2/journal-entry-lines/": {
      "get": {
        "operationId": "list_journal_entry_lines",
        "summary": "List journal entry lines",
        "parameters": [
          {
            "in": "query",
            "name": "start_date",
            "schema": {
              "description": "Filter by start date (inclusive)",
              "title": "Start Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by start date (inclusive)"
          },
          {
            "in": "query",
            "name": "end_date",
            "schema": {
              "description": "Filter by end date (inclusive)",
              "title": "End Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by end date (inclusive)"
          },
          {
            "in": "query",
            "name": "journal_entry_number",
            "schema": {
              "description": "Filter by journal entry number(s)",
              "title": "Journal Entry Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by journal entry number(s)"
          },
          {
            "in": "query",
            "name": "journal_entry_number_gte",
            "schema": {
              "description": "Filter by journal entry number >= value",
              "title": "Journal Entry Number Gte",
              "type": [
                "integer",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by journal entry number >= value"
          },
          {
            "in": "query",
            "name": "journal_entry_number_lte",
            "schema": {
              "description": "Filter by journal entry number <= value",
              "title": "Journal Entry Number Lte",
              "type": [
                "integer",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by journal entry number <= value"
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "description": "Filter by company ID(s)",
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by company ID(s)"
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "description": "Filter by record status. Defaults to POSTED only if not specified.",
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by record status. Defaults to POSTED only if not specified."
          },
          {
            "in": "query",
            "name": "ordering",
            "schema": {
              "description": "Sort field. Allowed: date, -date, number, -number, id, -id.",
              "title": "Ordering",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false,
            "description": "Sort field. Allowed: date, -date, number, -number, id, -id."
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "description": "Number of records to return per page (capped at 100)",
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to return per page (capped at 100)"
          },
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "description": "Number of records to skip before starting to return results",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to skip before starting to return results"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedJournalEntryLineSchemaOut"
                }
              }
            }
          }
        },
        "description": "Retrieve journal entry lines across all journal entries with filtering options. Returns paginated JSON. Date range defaults to the last 366 days if not provided. Maximum date range is 366 days.",
        "tags": [
          "Journal Entry Lines"
        ],
        "x-mint": {
          "metadata": {
            "description": "Retrieve journal entry lines across all journal entries with filtering options."
          }
        }
      }
    },
    "/public/v2/oauth/authorize/": {
      "post": {
        "operationId": "core_api_public_oauth_authorize",
        "summary": "Start CLI OAuth flow",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthorizeResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "description": "Start the CLI OAuth flow and obtain the authorization URL where the user grants access.",
        "tags": [
          "OAuth"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AuthorizeRequest"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v2/oauth/callback/": {
      "get": {
        "operationId": "core_api_public_oauth_callback",
        "summary": "OAuth callback from WorkOS",
        "parameters": [],
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "description": "Handle the OAuth callback from WorkOS and complete the CLI authorization flow.",
        "tags": [
          "OAuth"
        ]
      }
    },
    "/public/v2/oauth/token/": {
      "post": {
        "operationId": "core_api_public_oauth_token",
        "summary": "Exchange authorization code for API key",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TokenResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "description": "Exchange an OAuth authorization code for a DualEntry API key.",
        "tags": [
          "OAuth"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TokenRequest"
              }
            }
          },
          "required": true
        }
      }
    }
  },
  "components": {
    "schemas": {
      "DynamicInput": {
        "properties": {
          "ordering": {
            "default": "id",
            "title": "Ordering",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "title": "DynamicInput",
        "type": "object"
      },
      "Input": {
        "properties": {
          "limit": {
            "default": 100,
            "description": "Number of records to return per page (capped at 100)",
            "minimum": 1,
            "title": "Limit",
            "type": "integer"
          },
          "offset": {
            "default": 0,
            "description": "Number of records to skip before starting to return results",
            "minimum": 0,
            "title": "Offset",
            "type": "integer"
          }
        },
        "title": "Input",
        "type": "object"
      },
      "IntegrationSourceSlug": {
        "enum": [
          "bill_com",
          "ramp",
          "zoho",
          "fivetran",
          "stripe",
          "hubspot",
          "brex",
          "cubby",
          "avalara",
          "deel",
          "tax1099",
          "sitelink",
          "postgresql",
          "qlik",
          "power_bi",
          "snowflake",
          "avidxchange",
          "concur",
          "salesforce",
          "hmrc",
          "rippling",
          "quickbooks",
          "xero",
          "netsuite_suiteanalytics",
          "sage_intacct",
          "adp_totalsource",
          "justworks",
          "paychex_flex",
          "paycom",
          "gusto",
          "ukg_ready"
        ],
        "type": "string"
      },
      "PublicInvoiceV2ListFilterSchema": {
        "properties": {
          "integration_sources": {
            "title": "Integration Sources",
            "items": {
              "$ref": "#/components/schemas/IntegrationSourceSlug"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "search": {
            "title": "Search",
            "type": [
              "string",
              "null"
            ]
          },
          "company_id": {
            "q": "company_id__in",
            "title": "Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "number": {
            "q": "number__in",
            "title": "Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "customer_id": {
            "q": "customer_id__in",
            "title": "Customer Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "start_date": {
            "q": "transaction__date__gte",
            "title": "Start Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "end_date": {
            "q": "transaction__date__lte",
            "title": "End Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "due_date": {
            "q": "due_date__gte",
            "title": "Due Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "due_date_until": {
            "q": "due_date__lte",
            "title": "Due Date Until",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "transaction_currency": {
            "q": "transaction__currency_iso_4217_code__in",
            "title": "Transaction Currency",
            "items": {
              "$ref": "#/components/schemas/SystemCurrencies"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "record_status": {
            "q": "transaction__record_status__in",
            "title": "Record Status",
            "items": {
              "$ref": "#/components/schemas/RecordStatus"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "approval_status": {
            "title": "Approval Status",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "approval_status_scope": {
            "title": "Approval Status Scope",
            "items": {
              "$ref": "#/components/schemas/RecordStatus"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "amount_due_gte": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Return invoices whose outstanding balance (amount_due) is greater than or equal to this value.",
            "title": "Amount Due Gte"
          },
          "amount_due_lte": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Return invoices whose outstanding balance (amount_due) is less than or equal to this value.",
            "title": "Amount Due Lte"
          },
          "amount_due_updated_at_gte": {
            "description": "Return invoices whose amount_due_updated_at is greater than or equal to this timestamp.",
            "title": "Amount Due Updated At Gte",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "amount_due_updated_at_lte": {
            "description": "Return invoices whose amount_due_updated_at is less than or equal to this timestamp.",
            "title": "Amount Due Updated At Lte",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_after": {
            "q": "updated_at__gte",
            "title": "Updated After",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_before": {
            "q": "updated_at__lte",
            "title": "Updated Before",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "title": "PublicInvoiceV2ListFilterSchema",
        "type": "object"
      },
      "RecordStatus": {
        "enum": [
          "draft",
          "posted",
          "archived"
        ],
        "title": "RecordStatus",
        "type": "string"
      },
      "SystemCurrencies": {
        "enum": [
          "AED",
          "AFN",
          "ALL",
          "AMD",
          "ANG",
          "AOA",
          "ARS",
          "AUD",
          "AWG",
          "AZN",
          "BAM",
          "BBD",
          "BDT",
          "BGN",
          "BHD",
          "BIF",
          "BMD",
          "BND",
          "BOB",
          "BRL",
          "BSD",
          "BTN",
          "BWP",
          "BYN",
          "BZD",
          "CAD",
          "CDF",
          "CHF",
          "CLF",
          "CLP",
          "CNY",
          "COP",
          "CRC",
          "CUP",
          "CVE",
          "CZK",
          "DJF",
          "DKK",
          "DOP",
          "DZD",
          "EGP",
          "ERN",
          "ETB",
          "EUR",
          "FJD",
          "FKP",
          "GBP",
          "GEL",
          "GHS",
          "GIP",
          "GMD",
          "GNF",
          "GTQ",
          "GYD",
          "HKD",
          "HNL",
          "HTG",
          "HUF",
          "IDR",
          "ILS",
          "INR",
          "IQD",
          "IRR",
          "ISK",
          "JMD",
          "JOD",
          "JPY",
          "KES",
          "KGS",
          "KHR",
          "KMF",
          "KPW",
          "KRW",
          "KWD",
          "KYD",
          "KZT",
          "LAK",
          "LBP",
          "LKR",
          "LRD",
          "LSL",
          "LYD",
          "MAD",
          "MDL",
          "MGA",
          "MKD",
          "MMK",
          "MNT",
          "MOP",
          "MRU",
          "MUR",
          "MVR",
          "MWK",
          "MXN",
          "MYR",
          "MZN",
          "NAD",
          "NGN",
          "NIO",
          "NOK",
          "NPR",
          "NZD",
          "OMR",
          "PAB",
          "PEN",
          "PGK",
          "PHP",
          "PKR",
          "PLN",
          "PYG",
          "QAR",
          "RON",
          "RSD",
          "RUB",
          "RWF",
          "SAR",
          "SBD",
          "SCR",
          "SDG",
          "SEK",
          "SGD",
          "SHP",
          "SLL",
          "SOS",
          "SRD",
          "STN",
          "SVC",
          "SYP",
          "SZL",
          "THB",
          "TJS",
          "TMT",
          "TND",
          "TOP",
          "TRY",
          "TTD",
          "TWD",
          "TZS",
          "UAH",
          "UGX",
          "USD",
          "UYU",
          "UZS",
          "VES",
          "VND",
          "VUV",
          "WST",
          "XAF",
          "XAG",
          "XAU",
          "XCD",
          "XDR",
          "XOF",
          "XPD",
          "XPF",
          "XPT",
          "YER",
          "ZAR",
          "ZMW",
          "ZWL"
        ],
        "title": "SystemCurrencies",
        "type": "string"
      },
      "AddressSchemaOut": {
        "properties": {
          "name": {
            "title": "Name",
            "type": [
              "string",
              "null"
            ]
          },
          "street": {
            "title": "Street",
            "type": "string"
          },
          "second_line": {
            "title": "Second Line",
            "type": "string"
          },
          "city": {
            "title": "City",
            "type": "string"
          },
          "state": {
            "title": "State",
            "type": "string"
          },
          "postal_code": {
            "title": "Postal Code",
            "type": "string"
          },
          "country": {
            "title": "Country",
            "type": "string"
          }
        },
        "required": [
          "street",
          "second_line",
          "city",
          "state",
          "postal_code",
          "country"
        ],
        "title": "AddressSchemaOut",
        "type": "object"
      },
      "AppliesToItemSchema": {
        "description": "An entry in `applies_to` — binds a custom field to a record type with activation/required flags.",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/AppliesToTypes"
          },
          "is_active": {
            "default": true,
            "title": "Is Active",
            "type": "boolean"
          },
          "is_required": {
            "default": false,
            "title": "Is Required",
            "type": "boolean"
          }
        },
        "required": [
          "type"
        ],
        "title": "AppliesToItemSchema",
        "type": "object"
      },
      "AppliesToTypes": {
        "enum": [
          "invoice",
          "bill",
          "direct_expense",
          "journal_entry",
          "vendor_prepayment",
          "vendor_credit",
          "vendor_payment",
          "vendor_refund",
          "customer_payment",
          "customer_prepayment",
          "customer_refund",
          "customer_deposit",
          "currency_revaluation",
          "contract",
          "fixed_asset",
          "customer",
          "vendor",
          "company",
          "sales_order",
          "cash_sale",
          "customer_credit"
        ],
        "title": "AppliesToTypes",
        "type": "string"
      },
      "ApproverDictSchema": {
        "description": "Approver info from pre-serialized dict.",
        "properties": {
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "first_name": {
            "title": "First Name",
            "type": "string"
          },
          "last_name": {
            "title": "Last Name",
            "type": "string"
          },
          "email": {
            "title": "Email",
            "type": "string"
          },
          "full_name": {
            "title": "Full Name",
            "type": "string"
          },
          "avatar_url": {
            "title": "Avatar Url",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "first_name",
          "last_name",
          "email",
          "full_name"
        ],
        "title": "ApproverDictSchema",
        "type": "object"
      },
      "AuditActorSchemaOut": {
        "description": "Schema for audit actor information.",
        "properties": {
          "actor_type": {
            "title": "Actor Type",
            "type": [
              "string",
              "null"
            ]
          },
          "email": {
            "title": "Email",
            "type": [
              "string",
              "null"
            ]
          },
          "first_name": {
            "title": "First Name",
            "type": [
              "string",
              "null"
            ]
          },
          "last_name": {
            "title": "Last Name",
            "type": [
              "string",
              "null"
            ]
          },
          "timestamp": {
            "title": "Timestamp",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "title": "AuditActorSchemaOut",
        "type": "object"
      },
      "CustomFieldSchemaOut": {
        "properties": {
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "company_id": {
            "title": "Company Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "company_ids": {
            "title": "Company Ids",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "description": {
            "title": "Description",
            "type": [
              "string",
              "null"
            ]
          },
          "helper_text": {
            "title": "Helper Text",
            "type": [
              "string",
              "null"
            ]
          },
          "field_type": {
            "$ref": "#/components/schemas/FieldType"
          },
          "applies_to": {
            "items": {
              "$ref": "#/components/schemas/AppliesToItemSchema"
            },
            "title": "Applies To",
            "type": "array"
          },
          "default_value": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Default Value"
          },
          "options": {
            "title": "Options",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "is_active": {
            "title": "Is Active",
            "type": [
              "boolean",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "name",
          "description",
          "helper_text",
          "field_type",
          "applies_to",
          "options",
          "is_active"
        ],
        "title": "CustomFieldSchemaOut",
        "type": "object"
      },
      "CustomFieldValuePairOutputSchema": {
        "properties": {
          "field": {
            "$ref": "#/components/schemas/CustomFieldSchemaOut"
          },
          "value": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/CustomFieldValueSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "field"
        ],
        "title": "CustomFieldValuePairOutputSchema",
        "type": "object"
      },
      "CustomFieldValueSchemaOut": {
        "properties": {
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "custom_field_id": {
            "title": "Custom Field Id",
            "type": "integer"
          },
          "custom_field_name": {
            "title": "Custom Field Name",
            "type": "string"
          },
          "custom_field_type": {
            "title": "Custom Field Type",
            "type": "string"
          },
          "custom_field_value_id": {
            "title": "Custom Field Value Id",
            "type": "integer"
          },
          "value": {
            "title": "Value"
          },
          "created_at": {
            "title": "Created At",
            "type": "string"
          },
          "updated_at": {
            "title": "Updated At",
            "type": "string"
          }
        },
        "required": [
          "id",
          "custom_field_id",
          "custom_field_name",
          "custom_field_type",
          "custom_field_value_id",
          "value",
          "created_at",
          "updated_at"
        ],
        "title": "CustomFieldValueSchemaOut",
        "type": "object"
      },
      "FieldType": {
        "enum": [
          "text",
          "number",
          "currency",
          "date",
          "boolean",
          "single_select",
          "multi_select",
          "link",
          "paragraph"
        ],
        "title": "FieldType",
        "type": "string"
      },
      "PagedPublicInvoiceV2ListSchemaOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicInvoiceV2ListSchemaOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicInvoiceV2ListSchemaOut",
        "type": "object"
      },
      "PaymentSchemaOut": {
        "description": "Schema for payment collection configuration output.",
        "properties": {
          "type": {
            "title": "Type",
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "title": "Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "body": {
            "title": "Body",
            "type": [
              "string",
              "null"
            ]
          },
          "link": {
            "title": "Link",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "title": "PaymentSchemaOut",
        "type": "object"
      },
      "PublicAttachmentSchemaOut": {
        "properties": {
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "file_name": {
            "title": "File Name",
            "type": "string"
          },
          "file_size": {
            "title": "File Size",
            "type": "integer"
          },
          "download_url": {
            "title": "Download Url",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "file_name",
          "file_size"
        ],
        "title": "PublicAttachmentSchemaOut",
        "type": "object"
      },
      "PublicInvoiceV2ListSchemaOut": {
        "properties": {
          "bill_to_address": {
            "deprecated": true,
            "description": "Deprecated: send the structured billing_address / shipping_address instead.",
            "title": "Bill To Address",
            "type": "string"
          },
          "ship_to_address": {
            "deprecated": true,
            "description": "Deprecated: send the structured billing_address / shipping_address instead.",
            "title": "Ship To Address",
            "type": "string"
          },
          "billing_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "shipping_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "custom_fields": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/CustomFieldValuePairOutputSchema"
            },
            "title": "Custom Fields",
            "type": "array"
          },
          "customer_name": {
            "title": "Customer Name",
            "type": [
              "string",
              "null"
            ]
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicAttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "payment": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PaymentSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "term_id": {
            "title": "Term Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "term_name": {
            "title": "Term Name",
            "type": "string"
          },
          "transaction_ids": {
            "items": {
              "type": "integer"
            },
            "title": "Transaction Ids",
            "type": "array"
          },
          "bank_match_status": {
            "title": "Bank Match Status",
            "type": [
              "string",
              "null"
            ]
          },
          "reconciliation_status": {
            "title": "Reconciliation Status",
            "type": [
              "string",
              "null"
            ]
          },
          "created_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "updated_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "approval_status": {
            "title": "Approval Status",
            "type": [
              "string",
              "null"
            ]
          },
          "next_approvers": {
            "title": "Next Approvers",
            "items": {
              "$ref": "#/components/schemas/ApproverDictSchema"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "rejected_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RejectedBySchema"
              },
              {
                "type": "null"
              }
            ]
          },
          "internal_id": {
            "title": "Internal Id",
            "type": "integer"
          },
          "number": {
            "title": "Number",
            "type": "integer"
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "company_name": {
            "title": "Company Name",
            "type": "string"
          },
          "company_currency": {
            "title": "Company Currency",
            "type": "string"
          },
          "customer_id": {
            "title": "Customer Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "exchange_rate": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
            "title": "Exchange Rate",
            "type": "string"
          },
          "amount": {
            "description": "Total amount of transaction",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Amount",
            "type": "string"
          },
          "amount_due": {
            "description": "Amount to be paid",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Amount Due",
            "type": "string"
          },
          "paid_total": {
            "description": "Amount that was already paid by Customer Repayment Applications or Customer Payments",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Paid Total",
            "type": "string"
          },
          "amount_due_updated_at": {
            "description": "Timestamp of the most recent change that could have affected `amount_due`. Moves whenever the invoice itself is edited, or whenever a posted Customer Payment or Customer Prepayment Application referencing this invoice is written. ",
            "format": "date-time",
            "title": "Amount Due Updated At",
            "type": "string"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "date": {
            "description": "Posting date (GL date) - the date when the transaction is recorded in the general ledger",
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "description": "Transaction date (inception date) - the date when the transaction actually occurred",
            "format": "date",
            "title": "Transaction Date",
            "type": "string"
          },
          "due_date": {
            "title": "Due Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "record_status": {
            "$ref": "#/components/schemas/RecordStatus"
          },
          "recurring_record_number": {
            "title": "Recurring Record Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "reference_number": {
            "title": "Reference Number",
            "type": "string"
          },
          "created_at": {
            "description": "Date and time the record was created",
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "updated_at": {
            "description": "Date and time the record was last updated",
            "format": "date-time",
            "title": "Updated At",
            "type": "string"
          }
        },
        "required": [
          "bill_to_address",
          "ship_to_address",
          "term_id",
          "term_name",
          "transaction_ids",
          "internal_id",
          "number",
          "company_id",
          "company_name",
          "company_currency",
          "customer_id",
          "currency_iso_4217_code",
          "exchange_rate",
          "amount",
          "amount_due",
          "paid_total",
          "amount_due_updated_at",
          "memo",
          "date",
          "transaction_date",
          "due_date",
          "record_status",
          "recurring_record_number",
          "reference_number",
          "created_at",
          "updated_at"
        ],
        "title": "PublicInvoiceV2ListSchemaOut",
        "type": "object"
      },
      "RejectedBySchema": {
        "description": "Schema for rejector information including rejection reason.",
        "properties": {
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "first_name": {
            "title": "First Name",
            "type": "string"
          },
          "last_name": {
            "title": "Last Name",
            "type": "string"
          },
          "email": {
            "title": "Email",
            "type": "string"
          },
          "full_name": {
            "title": "Full Name",
            "type": "string"
          },
          "rejection_reason": {
            "title": "Rejection Reason",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "first_name",
          "last_name",
          "email",
          "full_name",
          "rejection_reason"
        ],
        "title": "RejectedBySchema",
        "type": "object"
      },
      "SystemCountries": {
        "enum": [
          "AA",
          "AB",
          "AC",
          "AD",
          "AE",
          "AF",
          "AG",
          "AH",
          "AI",
          "AJ",
          "AK",
          "AL",
          "AM",
          "AN",
          "AO",
          "AP",
          "AQ",
          "AR",
          "AS",
          "AT",
          "AU",
          "AV",
          "AW",
          "AX",
          "AY",
          "AZ",
          "BA",
          "BB",
          "BC",
          "BD",
          "BE",
          "BF",
          "BG",
          "BH",
          "BI",
          "BJ",
          "BK",
          "BL",
          "BM",
          "BN",
          "BO",
          "BP",
          "BQ",
          "BR",
          "BS",
          "BT",
          "BU",
          "BV",
          "BW",
          "BX",
          "BY",
          "BZ",
          "CA",
          "CB",
          "CC",
          "CD",
          "CE",
          "CF",
          "CG",
          "CH",
          "CI",
          "CJ",
          "CK",
          "CL",
          "CM",
          "CN",
          "CO",
          "CP",
          "CQ",
          "CR",
          "CS",
          "CT",
          "CU",
          "CV",
          "CW",
          "CX",
          "CY",
          "CZ",
          "DA",
          "DB",
          "DC",
          "DD",
          "DE",
          "DF",
          "DG",
          "DH",
          "DI",
          "DJ",
          "DK",
          "DL",
          "DM",
          "DN",
          "DO",
          "DP",
          "DQ",
          "DR",
          "DS",
          "DT",
          "DU",
          "DV",
          "DW",
          "DX",
          "DY",
          "DZ",
          "EA",
          "EB",
          "EC",
          "ED",
          "EE",
          "EF",
          "EG",
          "EH",
          "EI",
          "EJ",
          "EK",
          "EL",
          "EM",
          "EN",
          "EO",
          "EP",
          "EQ",
          "ER",
          "ES",
          "ET",
          "EU",
          "EV",
          "EW",
          "EX",
          "EY",
          "EZ",
          "FA",
          "FB",
          "FC",
          "FD",
          "FE",
          "FF",
          "FG",
          "FH",
          "FI",
          "FJ",
          "FK",
          "FL",
          "FM",
          "FN",
          "FO",
          "FP",
          "FQ",
          "FR",
          "FS",
          "FT",
          "FU",
          "FV",
          "FW",
          "FX",
          "FY",
          "FZ",
          "GA",
          "GB",
          "GC",
          "GD",
          "GE",
          "GF",
          "GG",
          "GH",
          "GI",
          "GJ",
          "GK",
          "GL",
          "GM",
          "GN",
          "GO",
          "GP",
          "GQ",
          "GR",
          "GS",
          "GT",
          "GU",
          "GV",
          "GW",
          "GX",
          "GY",
          "GZ",
          "HA",
          "HB",
          "HC",
          "HD",
          "HE",
          "HF",
          "HG",
          "HH",
          "HI",
          "HJ",
          "HK",
          "HL",
          "HM",
          "HN",
          "HO",
          "HP",
          "HQ",
          "HR",
          "HS",
          "HT",
          "HU",
          "HV",
          "HW",
          "HX",
          "HY",
          "HZ",
          "IA",
          "IB",
          "IC",
          "ID",
          "IE",
          "IF",
          "IG",
          "IH",
          "II",
          "IJ",
          "IK",
          "IL",
          "IM",
          "IN",
          "IO",
          "IP",
          "IQ",
          "IR",
          "IS",
          "IT",
          "IU",
          "IV",
          "IW",
          "IX",
          "IY",
          "IZ",
          "JA",
          "JB",
          "JC",
          "JD",
          "JE",
          "JF",
          "JG",
          "JH",
          "JI",
          "JJ",
          "JK",
          "JL",
          "JM",
          "JN",
          "JO",
          "JP",
          "JQ",
          "JR",
          "JS",
          "JT",
          "JU",
          "JV",
          "JW",
          "JX",
          "JY",
          "JZ",
          "KA",
          "KB",
          "KC",
          "KD",
          "KE",
          "KF",
          "KG",
          "KH",
          "KI",
          "KJ",
          "KK",
          "KL",
          "KM",
          "KN",
          "KO",
          "KP",
          "KQ",
          "KR",
          "KS",
          "KT",
          "KU",
          "KV",
          "KW",
          "KX",
          "KY",
          "KZ",
          "LA",
          "LB",
          "LC",
          "LD",
          "LE",
          "LF",
          "LG",
          "LH",
          "LI",
          "LJ",
          "LK",
          "LL",
          "LM",
          "LN",
          "LO",
          "LP",
          "LQ",
          "LR",
          "LS",
          "LT",
          "LU",
          "LV",
          "LW",
          "LX",
          "LY",
          "LZ",
          "MA",
          "MB",
          "MC",
          "MD",
          "ME",
          "MF",
          "MG",
          "MH",
          "MI",
          "MJ",
          "MK",
          "ML",
          "MM",
          "MN",
          "MO",
          "MP",
          "MQ",
          "MR",
          "MS",
          "MT",
          "MU",
          "MV",
          "MW",
          "MX",
          "MY",
          "MZ",
          "NA",
          "NB",
          "NC",
          "ND",
          "NE",
          "NF",
          "NG",
          "NH",
          "NI",
          "NJ",
          "NK",
          "NL",
          "NM",
          "NN",
          "NO",
          "NP",
          "NQ",
          "NR",
          "NS",
          "NT",
          "NU",
          "NV",
          "NW",
          "NX",
          "NY",
          "NZ",
          "OA",
          "OB",
          "OC",
          "OD",
          "OE",
          "OF",
          "OG",
          "OH",
          "OI",
          "OJ",
          "OK",
          "OL",
          "OM",
          "ON",
          "OO",
          "OP",
          "OQ",
          "OR",
          "OS",
          "OT",
          "OU",
          "OV",
          "OW",
          "OX",
          "OY",
          "OZ",
          "PA",
          "PB",
          "PC",
          "PD",
          "PE",
          "PF",
          "PG",
          "PH",
          "PI",
          "PJ",
          "PK",
          "PL",
          "PM",
          "PN",
          "PO",
          "PP",
          "PQ",
          "PR",
          "PS",
          "PT",
          "PU",
          "PV",
          "PW",
          "PX",
          "PY",
          "PZ",
          "QA",
          "QB",
          "QC",
          "QD",
          "QE",
          "QF",
          "QG",
          "QH",
          "QI",
          "QJ",
          "QK",
          "QL",
          "QM",
          "QN",
          "QO",
          "QP",
          "QQ",
          "QR",
          "QS",
          "QT",
          "QU",
          "QV",
          "QW",
          "QX",
          "QY",
          "QZ",
          "RA",
          "RB",
          "RC",
          "RD",
          "RE",
          "RF",
          "RG",
          "RH",
          "RI",
          "RJ",
          "RK",
          "RL",
          "RM",
          "RN",
          "RO",
          "RP",
          "RQ",
          "RR",
          "RS",
          "RT",
          "RU",
          "RV",
          "RW",
          "RX",
          "RY",
          "RZ",
          "SA",
          "SB",
          "SC",
          "SD",
          "SE",
          "SF",
          "SG",
          "SH",
          "SI",
          "SJ",
          "SK",
          "SL",
          "SM",
          "SN",
          "SO",
          "SP",
          "SQ",
          "SR",
          "SS",
          "ST",
          "SU",
          "SV",
          "SW",
          "SX",
          "SY",
          "SZ",
          "TA",
          "TB",
          "TC",
          "TD",
          "TE",
          "TF",
          "TG",
          "TH",
          "TI",
          "TJ",
          "TK",
          "TL",
          "TM",
          "TN",
          "TO",
          "TP",
          "TQ",
          "TR",
          "TS",
          "TT",
          "TU",
          "TV",
          "TW",
          "TX",
          "TY",
          "TZ",
          "UA",
          "UB",
          "UC",
          "UD",
          "UE",
          "UF",
          "UG",
          "UH",
          "UI",
          "UJ",
          "UK",
          "UL",
          "UM",
          "UN",
          "UO",
          "UP",
          "UQ",
          "UR",
          "US",
          "UT",
          "UU",
          "UV",
          "UW",
          "UX",
          "UY",
          "UZ",
          "VA",
          "VB",
          "VC",
          "VD",
          "VE",
          "VF",
          "VG",
          "VH",
          "VI",
          "VJ",
          "VK",
          "VL",
          "VM",
          "VN",
          "VO",
          "VP",
          "VQ",
          "VR",
          "VS",
          "VT",
          "VU",
          "VV",
          "VW",
          "VX",
          "VY",
          "VZ",
          "WA",
          "WB",
          "WC",
          "WD",
          "WE",
          "WF",
          "WG",
          "WH",
          "WI",
          "WJ",
          "WK",
          "WL",
          "WM",
          "WN",
          "WO",
          "WP",
          "WQ",
          "WR",
          "WS",
          "WT",
          "WU",
          "WV",
          "WW",
          "WX",
          "WY",
          "WZ",
          "XA",
          "XB",
          "XC",
          "XD",
          "XE",
          "XF",
          "XG",
          "XH",
          "XI",
          "XJ",
          "XK",
          "XL",
          "XM",
          "XN",
          "XO",
          "XP",
          "XQ",
          "XR",
          "XS",
          "XT",
          "XU",
          "XV",
          "XW",
          "XX",
          "XY",
          "XZ",
          "YA",
          "YB",
          "YC",
          "YD",
          "YE",
          "YF",
          "YG",
          "YH",
          "YI",
          "YJ",
          "YK",
          "YL",
          "YM",
          "YN",
          "YO",
          "YP",
          "YQ",
          "YR",
          "YS",
          "YT",
          "YU",
          "YV",
          "YW",
          "YX",
          "YY",
          "YZ",
          "ZA",
          "ZB",
          "ZC",
          "ZD",
          "ZE",
          "ZF",
          "ZG",
          "ZH",
          "ZI",
          "ZJ",
          "ZK",
          "ZL",
          "ZM",
          "ZN",
          "ZO",
          "ZP",
          "ZQ",
          "ZR",
          "ZS",
          "ZT",
          "ZU",
          "ZV",
          "ZW",
          "ZX",
          "ZY",
          "ZZ"
        ],
        "title": "SystemCountries",
        "type": "string"
      },
      "ErrorSchema": {
        "properties": {
          "success": {
            "const": false,
            "default": false,
            "title": "Success",
            "type": "boolean"
          },
          "errors": {
            "additionalProperties": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "title": "Errors",
            "type": "object"
          }
        },
        "required": [
          "errors"
        ],
        "title": "ErrorSchema",
        "type": "object"
      },
      "DiscountType": {
        "enum": [
          "PERCENTAGE",
          "FIXED"
        ],
        "title": "DiscountType",
        "type": "string"
      },
      "GstComponentType": {
        "enum": [
          "CGST",
          "SGST",
          "IGST",
          "CESS",
          "GST",
          "PST",
          "HST",
          "QST"
        ],
        "title": "GstComponentType",
        "type": "string"
      },
      "ItemTaxDataOut": {
        "properties": {
          "code": {
            "title": "Code",
            "type": "string"
          },
          "rate": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
            "title": "Rate",
            "type": "string"
          },
          "amount": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Amount",
            "type": "string"
          },
          "is_taxable": {
            "title": "Is Taxable",
            "type": [
              "boolean",
              "null"
            ]
          },
          "tax_exempt_amount": {
            "title": "Tax Exempt Amount",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "type": [
              "string",
              "null"
            ]
          },
          "vat_rate_id": {
            "title": "Vat Rate Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "gst_tax_rate_id": {
            "title": "Gst Tax Rate Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "tax_metadata": {
            "title": "Tax Metadata",
            "additionalProperties": true,
            "type": [
              "object",
              "null"
            ]
          },
          "tax_components": {
            "title": "Tax Components",
            "items": {
              "$ref": "#/components/schemas/TaxComponentSchema"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "amount_with_tax": {
            "title": "Amount With Tax",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "type": [
              "string",
              "null"
            ]
          },
          "rate_name": {
            "title": "Rate Name",
            "type": [
              "string",
              "null"
            ]
          },
          "rate_type": {
            "title": "Rate Type",
            "type": [
              "string",
              "null"
            ]
          },
          "tax_treatment": {
            "title": "Tax Treatment",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "code",
          "rate",
          "amount"
        ],
        "title": "ItemTaxDataOut",
        "type": "object"
      },
      "PublicInvoiceItemOut": {
        "properties": {
          "classifications": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/RecordClassificationsSchemaOut"
            },
            "title": "Classifications",
            "type": "array"
          },
          "item_type": {
            "title": "Item Type",
            "type": [
              "string",
              "null"
            ]
          },
          "hsn_sac_code": {
            "title": "Hsn Sac Code",
            "type": [
              "string",
              "null"
            ]
          },
          "discount_type": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DiscountType"
              },
              {
                "type": "null"
              }
            ]
          },
          "discount_value": {
            "title": "Discount Value",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
            "type": [
              "string",
              "null"
            ]
          },
          "discount_account_id": {
            "title": "Discount Account Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "record_level_discount_amount": {
            "title": "Record Level Discount Amount",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "type": [
              "string",
              "null"
            ]
          },
          "tax": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ItemTaxDataOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "item_id": {
            "title": "Item Id",
            "type": "integer"
          },
          "quantity": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
            "title": "Quantity",
            "type": "string"
          },
          "rate": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,10}0*$",
            "title": "Rate",
            "type": "string"
          },
          "position": {
            "title": "Position",
            "type": "integer"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "company_id": {
            "title": "Company Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "net_amount": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "readOnly": true,
            "title": "Net Amount",
            "type": "string"
          },
          "tax_amount": {
            "description": "Calculated tax amount",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "readOnly": true,
            "title": "Tax Amount",
            "type": "string"
          },
          "gross_amount": {
            "description": "Calculated total amount including tax",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "readOnly": true,
            "title": "Gross Amount",
            "type": "string"
          },
          "amount": {
            "description": "Calculated total amount including tax named amount for backward compatibility",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "readOnly": true,
            "title": "Amount",
            "type": "string"
          },
          "discount_amount": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "readOnly": true,
            "title": "Discount Amount",
            "type": "string"
          }
        },
        "required": [
          "id",
          "item_id",
          "quantity",
          "rate",
          "position",
          "memo",
          "net_amount",
          "tax_amount",
          "gross_amount",
          "amount",
          "discount_amount"
        ],
        "title": "PublicInvoiceItemOut",
        "type": "object"
      },
      "PublicInvoiceV2SchemaOut": {
        "properties": {
          "bill_to_address": {
            "deprecated": true,
            "description": "Deprecated: send the structured billing_address / shipping_address instead.",
            "title": "Bill To Address",
            "type": "string"
          },
          "ship_to_address": {
            "deprecated": true,
            "description": "Deprecated: send the structured billing_address / shipping_address instead.",
            "title": "Ship To Address",
            "type": "string"
          },
          "billing_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "shipping_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "custom_fields": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/CustomFieldValuePairOutputSchema"
            },
            "title": "Custom Fields",
            "type": "array"
          },
          "customer_name": {
            "title": "Customer Name",
            "type": [
              "string",
              "null"
            ]
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicAttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "payment": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PaymentSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "term_id": {
            "title": "Term Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "term_name": {
            "title": "Term Name",
            "type": "string"
          },
          "transaction_ids": {
            "items": {
              "type": "integer"
            },
            "title": "Transaction Ids",
            "type": "array"
          },
          "bank_match_status": {
            "title": "Bank Match Status",
            "type": [
              "string",
              "null"
            ]
          },
          "reconciliation_status": {
            "title": "Reconciliation Status",
            "type": [
              "string",
              "null"
            ]
          },
          "created_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "updated_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "approval_status": {
            "title": "Approval Status",
            "type": [
              "string",
              "null"
            ]
          },
          "next_approvers": {
            "title": "Next Approvers",
            "items": {
              "$ref": "#/components/schemas/ApproverDictSchema"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "rejected_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RejectedBySchema"
              },
              {
                "type": "null"
              }
            ]
          },
          "internal_id": {
            "title": "Internal Id",
            "type": "integer"
          },
          "number": {
            "title": "Number",
            "type": "integer"
          },
          "items": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicInvoiceItemOut"
            },
            "title": "Items",
            "type": "array"
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "company_name": {
            "title": "Company Name",
            "type": "string"
          },
          "company_currency": {
            "title": "Company Currency",
            "type": "string"
          },
          "customer_id": {
            "title": "Customer Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "exchange_rate": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
            "title": "Exchange Rate",
            "type": "string"
          },
          "amount": {
            "description": "Total amount of transaction",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Amount",
            "type": "string"
          },
          "amount_due": {
            "description": "Amount to be paid",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Amount Due",
            "type": "string"
          },
          "paid_total": {
            "description": "Amount that was already paid by Customer Repayment Applications or Customer Payments",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Paid Total",
            "type": "string"
          },
          "amount_due_updated_at": {
            "description": "Timestamp of the most recent change that could have affected `amount_due`. Moves whenever the invoice itself is edited, or whenever a posted Customer Payment or Customer Prepayment Application referencing this invoice is written. ",
            "format": "date-time",
            "title": "Amount Due Updated At",
            "type": "string"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "date": {
            "description": "Posting date (GL date) - the date when the transaction is recorded in the general ledger",
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "description": "Transaction date (inception date) - the date when the transaction actually occurred",
            "format": "date",
            "title": "Transaction Date",
            "type": "string"
          },
          "due_date": {
            "title": "Due Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "record_status": {
            "$ref": "#/components/schemas/RecordStatus"
          },
          "recurring_record_number": {
            "title": "Recurring Record Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "reference_number": {
            "title": "Reference Number",
            "type": "string"
          },
          "has_more_lines": {
            "default": false,
            "title": "Has More Lines",
            "type": "boolean"
          },
          "lines_count": {
            "default": 0,
            "title": "Lines Count",
            "type": "integer"
          },
          "created_at": {
            "description": "Date and time the record was created",
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "updated_at": {
            "description": "Date and time the record was last updated",
            "format": "date-time",
            "title": "Updated At",
            "type": "string"
          }
        },
        "required": [
          "bill_to_address",
          "ship_to_address",
          "term_id",
          "term_name",
          "transaction_ids",
          "internal_id",
          "number",
          "company_id",
          "company_name",
          "company_currency",
          "customer_id",
          "currency_iso_4217_code",
          "exchange_rate",
          "amount",
          "amount_due",
          "paid_total",
          "amount_due_updated_at",
          "memo",
          "date",
          "transaction_date",
          "due_date",
          "record_status",
          "recurring_record_number",
          "reference_number",
          "created_at",
          "updated_at"
        ],
        "title": "PublicInvoiceV2SchemaOut",
        "type": "object"
      },
      "RecordClassificationsSchemaOut": {
        "properties": {
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "line_id": {
            "title": "Line Id",
            "type": "integer"
          },
          "line_name": {
            "title": "Line Name",
            "type": "string"
          },
          "parent_classification_id": {
            "title": "Parent Classification Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "parent_classification_line_id": {
            "title": "Parent Classification Line Id",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "name",
          "line_id",
          "line_name"
        ],
        "title": "RecordClassificationsSchemaOut",
        "type": "object"
      },
      "TaxComponentSchema": {
        "description": "Per-component tax breakdown stored on line items (denormalized from GstTaxRateComponent).",
        "properties": {
          "component_type": {
            "$ref": "#/components/schemas/GstComponentType"
          },
          "rate": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
            "title": "Rate",
            "type": "string"
          },
          "amount": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Amount",
            "type": "string"
          },
          "region": {
            "title": "Region",
            "type": [
              "string",
              "null"
            ]
          },
          "position": {
            "title": "Position",
            "type": "integer"
          }
        },
        "required": [
          "component_type",
          "rate",
          "amount",
          "position"
        ],
        "title": "TaxComponentSchema",
        "type": "object"
      },
      "AddressSchemaIn": {
        "properties": {
          "street": {
            "title": "Street",
            "type": "string"
          },
          "city": {
            "title": "City",
            "type": "string"
          },
          "state": {
            "default": "",
            "title": "State",
            "type": "string"
          },
          "postal_code": {
            "title": "Postal Code",
            "type": "string"
          },
          "country": {
            "anyOf": [
              {
                "const": "",
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/SystemCountries"
              }
            ],
            "default": "",
            "title": "Country"
          },
          "second_line": {
            "default": "",
            "title": "Second Line",
            "type": "string"
          },
          "name": {
            "title": "Name",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "street",
          "city",
          "postal_code"
        ],
        "title": "AddressSchemaIn",
        "type": "object"
      },
      "AttachmentSchemaOut": {
        "properties": {
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "file_name": {
            "title": "File Name",
            "type": "string"
          },
          "file_size": {
            "title": "File Size",
            "type": "integer"
          },
          "download_url": {
            "title": "Download Url",
            "type": [
              "string",
              "null"
            ]
          },
          "upload_url": {
            "title": "Upload Url",
            "type": [
              "string",
              "null"
            ]
          },
          "category": {
            "default": "default",
            "title": "Category",
            "type": "string"
          }
        },
        "required": [
          "id",
          "file_name",
          "file_size"
        ],
        "title": "AttachmentSchemaOut",
        "type": "object"
      },
      "ItemTaxData": {
        "properties": {
          "code": {
            "title": "Code",
            "type": "string"
          },
          "rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
                "type": "string"
              }
            ],
            "title": "Rate"
          },
          "amount": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
                "type": "string"
              }
            ],
            "title": "Amount"
          },
          "is_taxable": {
            "title": "Is Taxable",
            "type": [
              "boolean",
              "null"
            ]
          },
          "tax_exempt_amount": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Tax Exempt Amount"
          },
          "vat_rate_id": {
            "title": "Vat Rate Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "gst_tax_rate_id": {
            "title": "Gst Tax Rate Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "tax_metadata": {
            "title": "Tax Metadata",
            "additionalProperties": true,
            "type": [
              "object",
              "null"
            ]
          }
        },
        "required": [
          "code",
          "rate",
          "amount"
        ],
        "title": "ItemTaxData",
        "type": "object"
      },
      "PaymentSchemaIn": {
        "description": "Schema for payment collection configuration input (matches frontend structure).",
        "properties": {
          "type": {
            "title": "Type",
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "title": "Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "body": {
            "title": "Body",
            "type": [
              "string",
              "null"
            ]
          },
          "link": {
            "title": "Link",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "title": "PaymentSchemaIn",
        "type": "object"
      },
      "PublicInvoiceItemIn": {
        "properties": {
          "discount_type": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DiscountType"
              },
              {
                "type": "null"
              }
            ]
          },
          "discount_value": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Discount Value"
          },
          "discount_account_id": {
            "title": "Discount Account Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "record_level_discount_amount": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Record Level Discount Amount"
          },
          "tax": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ItemTaxData"
              },
              {
                "type": "null"
              }
            ]
          },
          "id": {
            "title": "Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "item_id": {
            "title": "Item Id",
            "type": "integer"
          },
          "quantity": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
                "type": "string"
              }
            ],
            "title": "Quantity"
          },
          "rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,10}0*$",
                "type": "string"
              }
            ],
            "title": "Rate"
          },
          "position": {
            "title": "Position",
            "type": "integer"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "classifications": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/RecordClassificationsSchemaOut"
            },
            "title": "Classifications",
            "type": "array"
          },
          "company_id": {
            "title": "Company Id",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "item_id",
          "quantity",
          "rate",
          "position",
          "memo"
        ],
        "title": "PublicInvoiceItemIn",
        "type": "object"
      },
      "PublicInvoiceSchemaCreateIn": {
        "properties": {
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "title": "Transaction Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "bill_to_address": {
            "default": "",
            "deprecated": true,
            "description": "Deprecated: send the structured billing_address / shipping_address instead.",
            "title": "Bill To Address",
            "type": [
              "string",
              "null"
            ]
          },
          "ship_to_address": {
            "default": "",
            "deprecated": true,
            "description": "Deprecated: send the structured billing_address / shipping_address instead.",
            "title": "Ship To Address",
            "type": [
              "string",
              "null"
            ]
          },
          "billing_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaIn"
              },
              {
                "type": "null"
              }
            ]
          },
          "shipping_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaIn"
              },
              {
                "type": "null"
              }
            ]
          },
          "custom_fields": {
            "title": "Custom Fields",
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "items": {
            "title": "Items",
            "items": {
              "$ref": "#/components/schemas/PublicInvoiceItemIn"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "discount_type": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DiscountType"
              },
              {
                "type": "null"
              }
            ]
          },
          "discount_value": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Discount Value"
          },
          "memo": {
            "title": "Memo",
            "type": [
              "string",
              "null"
            ]
          },
          "due_date": {
            "title": "Due Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "customer_id": {
            "title": "Customer Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "currency_iso_4217_code": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              {
                "type": "null"
              }
            ]
          },
          "exchange_rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Exchange Rate"
          },
          "sales_order_id": {
            "title": "Sales Order Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "record_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RecordStatus"
              }
            ],
            "default": "posted"
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/AttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "contracted": {
            "default": false,
            "title": "Contracted",
            "type": "boolean"
          },
          "contract_id": {
            "title": "Contract Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "term_id": {
            "title": "Term Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "reference_number": {
            "default": "",
            "title": "Reference Number",
            "type": "string"
          },
          "ar_account_id": {
            "title": "Ar Account Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "payment": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PaymentSchemaIn"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "date"
        ],
        "title": "PublicInvoiceSchemaCreateIn",
        "type": "object"
      },
      "PublicInvoiceSchemaUpdateIn": {
        "properties": {
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "title": "Transaction Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "bill_to_address": {
            "default": "",
            "deprecated": true,
            "description": "Deprecated: send the structured billing_address / shipping_address instead.",
            "title": "Bill To Address",
            "type": [
              "string",
              "null"
            ]
          },
          "ship_to_address": {
            "default": "",
            "deprecated": true,
            "description": "Deprecated: send the structured billing_address / shipping_address instead.",
            "title": "Ship To Address",
            "type": [
              "string",
              "null"
            ]
          },
          "billing_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaIn"
              },
              {
                "type": "null"
              }
            ]
          },
          "shipping_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaIn"
              },
              {
                "type": "null"
              }
            ]
          },
          "custom_fields": {
            "title": "Custom Fields",
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "items": {
            "title": "Items",
            "items": {
              "$ref": "#/components/schemas/PublicInvoiceItemIn"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "discount_type": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DiscountType"
              },
              {
                "type": "null"
              }
            ]
          },
          "discount_value": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Discount Value"
          },
          "memo": {
            "title": "Memo",
            "type": [
              "string",
              "null"
            ]
          },
          "due_date": {
            "title": "Due Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "customer_id": {
            "title": "Customer Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "currency_iso_4217_code": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              {
                "type": "null"
              }
            ]
          },
          "exchange_rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Exchange Rate"
          },
          "sales_order_id": {
            "title": "Sales Order Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "record_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RecordStatus"
              }
            ],
            "default": "posted"
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/AttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "contracted": {
            "default": false,
            "title": "Contracted",
            "type": "boolean"
          },
          "contract_id": {
            "title": "Contract Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "term_id": {
            "title": "Term Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "reference_number": {
            "default": "",
            "title": "Reference Number",
            "type": "string"
          },
          "ar_account_id": {
            "title": "Ar Account Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "payment": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PaymentSchemaIn"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "date"
        ],
        "title": "PublicInvoiceSchemaUpdateIn",
        "type": "object"
      },
      "PublicInvoiceSchemaPatchIn": {
        "description": "Partial update payload for PATCH /public/invoices/{number}/.\n\nEvery field is optional: send only the fields you want to change.\nUnset fields are left untouched on the existing record.\n\nUpdates allowed under the same constraints as PUT: period locks,\npayment-applied restrictions, and approval-workflow rules apply.",
        "properties": {
          "custom_fields": {
            "title": "Custom Fields",
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "memo": {
            "title": "Memo",
            "type": [
              "string",
              "null"
            ]
          },
          "due_date": {
            "title": "Due Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "customer_id": {
            "title": "Customer Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "currency_iso_4217_code": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              {
                "type": "null"
              }
            ]
          },
          "exchange_rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Exchange Rate"
          },
          "items": {
            "title": "Items",
            "items": {
              "$ref": "#/components/schemas/PublicInvoiceItemIn"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "bill_to_address": {
            "deprecated": true,
            "description": "Deprecated: send the structured billing_address / shipping_address instead.",
            "title": "Bill To Address",
            "type": [
              "string",
              "null"
            ]
          },
          "billing_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaIn"
              },
              {
                "type": "null"
              }
            ]
          },
          "ship_to_address": {
            "deprecated": true,
            "description": "Deprecated: send the structured billing_address / shipping_address instead.",
            "title": "Ship To Address",
            "type": [
              "string",
              "null"
            ]
          },
          "shipping_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaIn"
              },
              {
                "type": "null"
              }
            ]
          },
          "sales_order_id": {
            "title": "Sales Order Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "record_status": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RecordStatus"
              },
              {
                "type": "null"
              }
            ]
          },
          "attachments": {
            "title": "Attachments",
            "items": {
              "$ref": "#/components/schemas/AttachmentSchemaOut"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "contracted": {
            "default": false,
            "title": "Contracted",
            "type": "boolean"
          },
          "contract_id": {
            "title": "Contract Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "term_id": {
            "title": "Term Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "reference_number": {
            "default": "",
            "title": "Reference Number",
            "type": "string"
          },
          "ar_account_id": {
            "title": "Ar Account Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "payment": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PaymentSchemaIn"
              },
              {
                "type": "null"
              }
            ]
          },
          "date": {
            "title": "Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "transaction_date": {
            "title": "Transaction Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "discount_type": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DiscountType"
              },
              {
                "type": "null"
              }
            ]
          },
          "discount_value": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Discount Value"
          }
        },
        "title": "PublicInvoiceSchemaPatchIn",
        "type": "object"
      },
      "PagedPublicInvoiceItemOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicInvoiceItemOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicInvoiceItemOut",
        "type": "object"
      },
      "PublicSalesOrderV2ListFilterSchema": {
        "properties": {
          "search": {
            "title": "Search",
            "type": [
              "string",
              "null"
            ]
          },
          "company_id": {
            "q": "company_id__in",
            "title": "Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "number": {
            "q": "number__in",
            "title": "Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "customer_id": {
            "q": "customer_id__in",
            "title": "Customer Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "start_date": {
            "q": "date__gte",
            "title": "Start Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "end_date": {
            "q": "date__lte",
            "title": "End Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "record_status": {
            "q": "record_status__in",
            "title": "Record Status",
            "items": {
              "$ref": "#/components/schemas/RecordStatus"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "invoiced_status": {
            "title": "Invoiced Status",
            "items": {
              "$ref": "#/components/schemas/SalesOrderInvoicedStatus"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "approval_status": {
            "title": "Approval Status",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "approval_status_scope": {
            "title": "Approval Status Scope",
            "items": {
              "$ref": "#/components/schemas/RecordStatus"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "updated_after": {
            "q": "updated_at__gte",
            "title": "Updated After",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_before": {
            "q": "updated_at__lte",
            "title": "Updated Before",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "title": "PublicSalesOrderV2ListFilterSchema",
        "type": "object"
      },
      "SalesOrderInvoicedStatus": {
        "enum": [
          "invoiced",
          "uninvoiced",
          "partially_invoiced"
        ],
        "title": "SalesOrderInvoicedStatus",
        "type": "string"
      },
      "PagedPublicSalesOrderV2ListSchemaOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicSalesOrderV2ListSchemaOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicSalesOrderV2ListSchemaOut",
        "type": "object"
      },
      "PublicSalesOrderV2ListSchemaOut": {
        "properties": {
          "bill_to_address": {
            "deprecated": true,
            "description": "Deprecated: send the structured billing_address / shipping_address instead.",
            "title": "Bill To Address",
            "type": "string"
          },
          "ship_to_address": {
            "deprecated": true,
            "description": "Deprecated: send the structured billing_address / shipping_address instead.",
            "title": "Ship To Address",
            "type": "string"
          },
          "billing_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "shipping_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "custom_fields": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/CustomFieldValuePairOutputSchema"
            },
            "title": "Custom Fields",
            "type": "array"
          },
          "invoiced_status": {
            "$ref": "#/components/schemas/SalesOrderInvoicedStatus"
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicAttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "term_id": {
            "title": "Term Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "term_name": {
            "title": "Term Name",
            "type": "string"
          },
          "created_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "updated_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "approval_status": {
            "title": "Approval Status",
            "type": [
              "string",
              "null"
            ]
          },
          "next_approvers": {
            "title": "Next Approvers",
            "items": {
              "$ref": "#/components/schemas/ApproverDictSchema"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "rejected_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RejectedBySchema"
              },
              {
                "type": "null"
              }
            ]
          },
          "internal_id": {
            "title": "Internal Id",
            "type": "integer"
          },
          "number": {
            "title": "Number",
            "type": "integer"
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "company_name": {
            "title": "Company Name",
            "type": "string"
          },
          "company_currency": {
            "title": "Company Currency",
            "type": "string"
          },
          "customer_id": {
            "title": "Customer Id",
            "type": "integer"
          },
          "customer_name": {
            "title": "Customer Name",
            "type": "string"
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "exchange_rate": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
            "title": "Exchange Rate",
            "type": "string"
          },
          "amount": {
            "description": "Total amount of ordered items",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Amount",
            "type": "string"
          },
          "invoiced_total": {
            "description": "Total quantity of items that were already invoiced",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Invoiced Total",
            "type": "string"
          },
          "due_total": {
            "description": "Total quantity of items yet to be invoiced",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Due Total",
            "type": "string"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "record_status": {
            "$ref": "#/components/schemas/RecordStatus"
          },
          "recurring_record_number": {
            "title": "Recurring Record Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "reference_number": {
            "title": "Reference Number",
            "type": "string"
          },
          "created_at": {
            "description": "Date and time the record was created",
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "updated_at": {
            "description": "Date and time the record was last updated",
            "format": "date-time",
            "title": "Updated At",
            "type": "string"
          }
        },
        "required": [
          "bill_to_address",
          "ship_to_address",
          "invoiced_status",
          "term_id",
          "term_name",
          "internal_id",
          "number",
          "company_id",
          "company_name",
          "company_currency",
          "customer_id",
          "customer_name",
          "currency_iso_4217_code",
          "exchange_rate",
          "amount",
          "invoiced_total",
          "due_total",
          "memo",
          "date",
          "record_status",
          "reference_number",
          "created_at",
          "updated_at"
        ],
        "title": "PublicSalesOrderV2ListSchemaOut",
        "type": "object"
      },
      "PublicSalesOrderItemOut": {
        "properties": {
          "classifications": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/RecordClassificationsSchemaOut"
            },
            "title": "Classifications",
            "type": "array"
          },
          "item_type": {
            "title": "Item Type",
            "type": [
              "string",
              "null"
            ]
          },
          "hsn_sac_code": {
            "title": "Hsn Sac Code",
            "type": [
              "string",
              "null"
            ]
          },
          "tax": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ItemTaxDataOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "item_id": {
            "title": "Item Id",
            "type": "integer"
          },
          "quantity": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
            "title": "Quantity",
            "type": "string"
          },
          "rate": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
            "title": "Rate",
            "type": "string"
          },
          "position": {
            "title": "Position",
            "type": "integer"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "quantity_invoiced": {
            "description": "Quantity of items that already have corresponding Invoice",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
            "title": "Quantity Invoiced",
            "type": "string"
          },
          "quantity_due": {
            "description": "Quantity of items yet to be invoiced",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
            "title": "Quantity Due",
            "type": "string"
          },
          "net_amount": {
            "description": "Net amount before tax",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "readOnly": true,
            "title": "Net Amount",
            "type": "string"
          },
          "tax_amount": {
            "description": "Calculated tax amount",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "readOnly": true,
            "title": "Tax Amount",
            "type": "string"
          },
          "gross_amount": {
            "description": "Calculated total amount including tax",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "readOnly": true,
            "title": "Gross Amount",
            "type": "string"
          },
          "amount": {
            "description": "Calculated total amount including tax named amount for backward compatibility",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "readOnly": true,
            "title": "Amount",
            "type": "string"
          }
        },
        "required": [
          "id",
          "item_id",
          "quantity",
          "rate",
          "position",
          "memo",
          "quantity_invoiced",
          "quantity_due",
          "net_amount",
          "tax_amount",
          "gross_amount",
          "amount"
        ],
        "title": "PublicSalesOrderItemOut",
        "type": "object"
      },
      "PublicSalesOrderV2SchemaOut": {
        "properties": {
          "bill_to_address": {
            "deprecated": true,
            "description": "Deprecated: send the structured billing_address / shipping_address instead.",
            "title": "Bill To Address",
            "type": "string"
          },
          "ship_to_address": {
            "deprecated": true,
            "description": "Deprecated: send the structured billing_address / shipping_address instead.",
            "title": "Ship To Address",
            "type": "string"
          },
          "billing_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "shipping_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "custom_fields": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/CustomFieldValuePairOutputSchema"
            },
            "title": "Custom Fields",
            "type": "array"
          },
          "invoiced_status": {
            "$ref": "#/components/schemas/SalesOrderInvoicedStatus"
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicAttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "term_id": {
            "title": "Term Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "term_name": {
            "title": "Term Name",
            "type": "string"
          },
          "created_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "updated_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "approval_status": {
            "title": "Approval Status",
            "type": [
              "string",
              "null"
            ]
          },
          "next_approvers": {
            "title": "Next Approvers",
            "items": {
              "$ref": "#/components/schemas/ApproverDictSchema"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "rejected_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RejectedBySchema"
              },
              {
                "type": "null"
              }
            ]
          },
          "internal_id": {
            "title": "Internal Id",
            "type": "integer"
          },
          "number": {
            "title": "Number",
            "type": "integer"
          },
          "items": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicSalesOrderItemOut"
            },
            "title": "Items",
            "type": "array"
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "company_name": {
            "title": "Company Name",
            "type": "string"
          },
          "company_currency": {
            "title": "Company Currency",
            "type": "string"
          },
          "customer_id": {
            "title": "Customer Id",
            "type": "integer"
          },
          "customer_name": {
            "title": "Customer Name",
            "type": "string"
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "exchange_rate": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
            "title": "Exchange Rate",
            "type": "string"
          },
          "amount": {
            "description": "Total amount of ordered items",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Amount",
            "type": "string"
          },
          "invoiced_total": {
            "description": "Total quantity of items that were already invoiced",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Invoiced Total",
            "type": "string"
          },
          "due_total": {
            "description": "Total quantity of items yet to be invoiced",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Due Total",
            "type": "string"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "record_status": {
            "$ref": "#/components/schemas/RecordStatus"
          },
          "recurring_record_number": {
            "title": "Recurring Record Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "reference_number": {
            "title": "Reference Number",
            "type": "string"
          },
          "has_more_lines": {
            "default": false,
            "title": "Has More Lines",
            "type": "boolean"
          },
          "lines_count": {
            "default": 0,
            "title": "Lines Count",
            "type": "integer"
          },
          "created_at": {
            "description": "Date and time the record was created",
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "updated_at": {
            "description": "Date and time the record was last updated",
            "format": "date-time",
            "title": "Updated At",
            "type": "string"
          }
        },
        "required": [
          "bill_to_address",
          "ship_to_address",
          "invoiced_status",
          "term_id",
          "term_name",
          "internal_id",
          "number",
          "company_id",
          "company_name",
          "company_currency",
          "customer_id",
          "customer_name",
          "currency_iso_4217_code",
          "exchange_rate",
          "amount",
          "invoiced_total",
          "due_total",
          "memo",
          "date",
          "record_status",
          "reference_number",
          "created_at",
          "updated_at"
        ],
        "title": "PublicSalesOrderV2SchemaOut",
        "type": "object"
      },
      "PublicSalesOrderItemIn": {
        "properties": {
          "tax": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ItemTaxData"
              },
              {
                "type": "null"
              }
            ]
          },
          "id": {
            "title": "Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "item_id": {
            "title": "Item Id",
            "type": "integer"
          },
          "quantity": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
                "type": "string"
              }
            ],
            "title": "Quantity"
          },
          "rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
                "type": "string"
              }
            ],
            "title": "Rate"
          },
          "position": {
            "title": "Position",
            "type": "integer"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "classifications": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/RecordClassificationsSchemaOut"
            },
            "title": "Classifications",
            "type": "array"
          }
        },
        "required": [
          "item_id",
          "quantity",
          "rate",
          "position",
          "memo"
        ],
        "title": "PublicSalesOrderItemIn",
        "type": "object"
      },
      "PublicSalesOrderSchemaCreateIn": {
        "properties": {
          "bill_to_address": {
            "default": "",
            "deprecated": true,
            "description": "Deprecated: send the structured billing_address / shipping_address instead.",
            "title": "Bill To Address",
            "type": [
              "string",
              "null"
            ]
          },
          "ship_to_address": {
            "default": "",
            "deprecated": true,
            "description": "Deprecated: send the structured billing_address / shipping_address instead.",
            "title": "Ship To Address",
            "type": [
              "string",
              "null"
            ]
          },
          "billing_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaIn"
              },
              {
                "type": "null"
              }
            ]
          },
          "shipping_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaIn"
              },
              {
                "type": "null"
              }
            ]
          },
          "custom_fields": {
            "title": "Custom Fields",
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicSalesOrderItemIn"
            },
            "title": "Items",
            "type": "array"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "customer_id": {
            "title": "Customer Id",
            "type": "integer"
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "exchange_rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
                "type": "string"
              }
            ],
            "title": "Exchange Rate"
          },
          "record_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RecordStatus"
              }
            ],
            "default": "posted"
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/AttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "term_id": {
            "title": "Term Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "reference_number": {
            "default": "",
            "title": "Reference Number",
            "type": "string"
          }
        },
        "required": [
          "items",
          "memo",
          "date",
          "company_id",
          "customer_id",
          "currency_iso_4217_code",
          "exchange_rate"
        ],
        "title": "PublicSalesOrderSchemaCreateIn",
        "type": "object"
      },
      "PublicSalesOrderSchemaUpdateIn": {
        "properties": {
          "bill_to_address": {
            "default": "",
            "deprecated": true,
            "description": "Deprecated: send the structured billing_address / shipping_address instead.",
            "title": "Bill To Address",
            "type": [
              "string",
              "null"
            ]
          },
          "ship_to_address": {
            "default": "",
            "deprecated": true,
            "description": "Deprecated: send the structured billing_address / shipping_address instead.",
            "title": "Ship To Address",
            "type": [
              "string",
              "null"
            ]
          },
          "billing_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaIn"
              },
              {
                "type": "null"
              }
            ]
          },
          "shipping_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaIn"
              },
              {
                "type": "null"
              }
            ]
          },
          "custom_fields": {
            "title": "Custom Fields",
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicSalesOrderItemIn"
            },
            "title": "Items",
            "type": "array"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "customer_id": {
            "title": "Customer Id",
            "type": "integer"
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "exchange_rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
                "type": "string"
              }
            ],
            "title": "Exchange Rate"
          },
          "record_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RecordStatus"
              }
            ],
            "default": "posted"
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/AttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "term_id": {
            "title": "Term Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "reference_number": {
            "default": "",
            "title": "Reference Number",
            "type": "string"
          }
        },
        "required": [
          "items",
          "memo",
          "date",
          "company_id",
          "customer_id",
          "currency_iso_4217_code",
          "exchange_rate"
        ],
        "title": "PublicSalesOrderSchemaUpdateIn",
        "type": "object"
      },
      "PagedPublicSalesOrderItemOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicSalesOrderItemOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicSalesOrderItemOut",
        "type": "object"
      },
      "PublicBillV2ListFilterSchema": {
        "properties": {
          "search": {
            "title": "Search",
            "type": [
              "string",
              "null"
            ]
          },
          "company_id": {
            "q": "company_id__in",
            "title": "Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "vendor_id": {
            "q": "vendor_id__in",
            "title": "Vendor Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "number": {
            "q": "number__in",
            "title": "Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "start_date": {
            "q": "transaction__date__gte",
            "title": "Start Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "end_date": {
            "q": "transaction__date__lte",
            "title": "End Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "due_date": {
            "q": "due_date__gte",
            "title": "Due Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "record_status": {
            "q": "transaction__record_status__in",
            "title": "Record Status",
            "items": {
              "$ref": "#/components/schemas/RecordStatus"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "approval_status": {
            "title": "Approval Status",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "approval_status_scope": {
            "title": "Approval Status Scope",
            "items": {
              "$ref": "#/components/schemas/RecordStatus"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "updated_after": {
            "q": "updated_at__gte",
            "title": "Updated After",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_before": {
            "q": "updated_at__lte",
            "title": "Updated Before",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "title": "PublicBillV2ListFilterSchema",
        "type": "object"
      },
      "GstSupplyCategory": {
        "description": "India GST: intra-state (CGST+SGST) vs inter-state (IGST).",
        "enum": [
          "INTRA_STATE",
          "INTER_STATE"
        ],
        "title": "GstSupplyCategory",
        "type": "string"
      },
      "PagedPublicBillV2ListSchemaOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicBillV2ListSchemaOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicBillV2ListSchemaOut",
        "type": "object"
      },
      "PublicBillV2ListSchemaOut": {
        "properties": {
          "custom_fields": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/CustomFieldValuePairOutputSchema"
            },
            "title": "Custom Fields",
            "type": "array"
          },
          "supply_date": {
            "title": "Supply Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "place_of_supply": {
            "title": "Place Of Supply",
            "maxLength": 2,
            "type": [
              "string",
              "null"
            ]
          },
          "tax_registration_numbers": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/TaxRegistrationNumbersSnapshot"
              },
              {
                "type": "null"
              }
            ]
          },
          "tax": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RecordTaxContextOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicAttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "transaction_ids": {
            "items": {
              "type": "integer"
            },
            "title": "Transaction Ids",
            "type": "array"
          },
          "term_id": {
            "title": "Term Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "term_name": {
            "title": "Term Name",
            "type": "string"
          },
          "bank_match_status": {
            "title": "Bank Match Status",
            "type": [
              "string",
              "null"
            ]
          },
          "reconciliation_status": {
            "title": "Reconciliation Status",
            "type": [
              "string",
              "null"
            ]
          },
          "created_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "updated_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "approval_status": {
            "title": "Approval Status",
            "type": [
              "string",
              "null"
            ]
          },
          "next_approvers": {
            "title": "Next Approvers",
            "items": {
              "$ref": "#/components/schemas/ApproverDictSchema"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "rejected_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RejectedBySchema"
              },
              {
                "type": "null"
              }
            ]
          },
          "internal_id": {
            "title": "Internal Id",
            "type": "integer"
          },
          "number": {
            "title": "Number",
            "type": "integer"
          },
          "date": {
            "description": "Posting date (GL date) - the date when the transaction is recorded in the general ledger",
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "description": "Transaction date (inception date) - the date when the transaction actually occurred",
            "format": "date",
            "title": "Transaction Date",
            "type": "string"
          },
          "due_date": {
            "format": "date",
            "title": "Due Date",
            "type": "string"
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "company_name": {
            "title": "Company Name",
            "type": "string"
          },
          "company_currency": {
            "title": "Company Currency",
            "type": "string"
          },
          "vendor_id": {
            "title": "Vendor Id",
            "type": "integer"
          },
          "vendor_name": {
            "title": "Vendor Name",
            "type": "string"
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "exchange_rate": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
            "title": "Exchange Rate",
            "type": "string"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "amount": {
            "description": "Total amount of transaction",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Amount",
            "type": "string"
          },
          "amount_due": {
            "description": "Amount to be paid",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Amount Due",
            "type": "string"
          },
          "paid_total": {
            "description": "Amount that was already paid by Vendor Prepayment Applications or Vendor Payments",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Paid Total",
            "type": "string"
          },
          "record_status": {
            "$ref": "#/components/schemas/RecordStatus"
          },
          "recurring_record_number": {
            "title": "Recurring Record Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "purchase_order_number": {
            "title": "Purchase Order Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "reference_number": {
            "title": "Reference Number",
            "type": "string"
          },
          "created_at": {
            "description": "Date and time the record was created",
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "updated_at": {
            "description": "Date and time the record was last updated",
            "format": "date-time",
            "title": "Updated At",
            "type": "string"
          }
        },
        "required": [
          "supply_date",
          "tax",
          "transaction_ids",
          "term_id",
          "term_name",
          "internal_id",
          "number",
          "date",
          "transaction_date",
          "due_date",
          "company_id",
          "company_name",
          "company_currency",
          "vendor_id",
          "vendor_name",
          "currency_iso_4217_code",
          "exchange_rate",
          "memo",
          "amount",
          "amount_due",
          "paid_total",
          "record_status",
          "recurring_record_number",
          "purchase_order_number",
          "reference_number",
          "created_at",
          "updated_at"
        ],
        "title": "PublicBillV2ListSchemaOut",
        "type": "object"
      },
      "RecordGstDataOut": {
        "properties": {
          "country": {
            "description": "ISO-2 country code of the GST regime (IN, AU, NZ, SG, CA).",
            "title": "Country",
            "type": [
              "string",
              "null"
            ]
          },
          "supply_category": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/GstSupplyCategory"
              },
              {
                "type": "null"
              }
            ],
            "description": "India only (today): INTRA_STATE (CGST+SGST) vs INTER_STATE (IGST). Null for AU/NZ/SG/CA."
          },
          "place_of_supply": {
            "title": "Place Of Supply",
            "maxLength": 2,
            "type": [
              "string",
              "null"
            ]
          },
          "supply_date": {
            "title": "Supply Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "tax_registration_numbers": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/TaxRegistrationNumbersSnapshot"
              },
              {
                "type": "null"
              }
            ],
            "description": "Snapshot of all relevant tax registration numbers for both parties."
          }
        },
        "title": "RecordGstDataOut",
        "type": "object"
      },
      "RecordNoneTaxDataOut": {
        "properties": {},
        "title": "RecordNoneTaxDataOut",
        "type": "object"
      },
      "RecordSalesTaxDataOut": {
        "description": "Reserved for future sales tax fields (e.g. nexus origin).",
        "properties": {},
        "title": "RecordSalesTaxDataOut",
        "type": "object"
      },
      "RecordTaxContextOut": {
        "description": "Base for record-level tax context; `regime` discriminates `data`.\n\nMirrors `TaxResultV2Out` (core.taxes.api.taxes)",
        "properties": {
          "regime": {
            "$ref": "#/components/schemas/TaxResultType"
          },
          "data": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RecordSalesTaxDataOut"
              },
              {
                "$ref": "#/components/schemas/RecordVatDataOut"
              },
              {
                "$ref": "#/components/schemas/RecordGstDataOut"
              },
              {
                "$ref": "#/components/schemas/RecordNoneTaxDataOut"
              }
            ],
            "title": "Data"
          }
        },
        "required": [
          "regime",
          "data"
        ],
        "title": "RecordTaxContextOut",
        "type": "object"
      },
      "RecordVatDataOut": {
        "properties": {
          "country": {
            "description": "ISO-2 country code that owns the VAT regime for this record (GB, DE, ...).",
            "title": "Country",
            "type": [
              "string",
              "null"
            ]
          },
          "supply_date": {
            "title": "Supply Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "tax_registration_numbers": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/TaxRegistrationNumbersSnapshot"
              },
              {
                "type": "null"
              }
            ],
            "description": "Snapshot of all relevant tax registration numbers for both parties."
          }
        },
        "title": "RecordVatDataOut",
        "type": "object"
      },
      "TaxRegistrationNumberEntry": {
        "properties": {
          "type": {
            "description": "Registration type (e.g. SST_SALES, SST_SERVICE, GST, GSTIN, PST, QST).",
            "title": "Type",
            "type": "string"
          },
          "number": {
            "description": "Frozen-at-snapshot registration number.",
            "title": "Number",
            "type": "string"
          },
          "region": {
            "description": "2-letter region code for region-scoped registrations (e.g. Canadian PST/QST provinces); null for country-wide registrations.",
            "title": "Region",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "type",
          "number"
        ],
        "title": "TaxRegistrationNumberEntry",
        "type": "object"
      },
      "TaxRegistrationNumbersSnapshot": {
        "properties": {
          "company": {
            "items": {
              "$ref": "#/components/schemas/TaxRegistrationNumberEntry"
            },
            "title": "Company",
            "type": "array"
          },
          "counterparty": {
            "items": {
              "$ref": "#/components/schemas/TaxRegistrationNumberEntry"
            },
            "title": "Counterparty",
            "type": "array"
          }
        },
        "title": "TaxRegistrationNumbersSnapshot",
        "type": "object"
      },
      "TaxResultType": {
        "enum": [
          "SALES_TAX",
          "VAT",
          "GST",
          "NONE"
        ],
        "title": "TaxResultType",
        "type": "string"
      },
      "AmortizableAssetRefOut": {
        "properties": {
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "name": {
            "title": "Name",
            "type": "string"
          }
        },
        "required": [
          "id",
          "name"
        ],
        "title": "AmortizableAssetRefOut",
        "type": "object"
      },
      "FixedAssetRefOut": {
        "properties": {
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "name": {
            "title": "Name",
            "type": "string"
          }
        },
        "required": [
          "id",
          "name"
        ],
        "title": "FixedAssetRefOut",
        "type": "object"
      },
      "PublicBillExpenseOut": {
        "properties": {
          "tax": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ItemTaxDataOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "position": {
            "title": "Position",
            "type": "integer"
          },
          "rate": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
            "title": "Rate",
            "type": "string"
          },
          "quantity": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
            "title": "Quantity",
            "type": "string"
          },
          "account_number": {
            "title": "Account Number",
            "type": "integer"
          },
          "expense_description": {
            "title": "Expense Description",
            "type": "string"
          },
          "classifications": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/RecordClassificationsSchemaOut"
            },
            "title": "Classifications",
            "type": "array"
          },
          "customer_id": {
            "title": "Customer Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "vendor_id": {
            "title": "Vendor Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "amortizable_assets": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/AmortizableAssetRefOut"
            },
            "title": "Amortizable Assets",
            "type": "array"
          },
          "fixed_assets": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/FixedAssetRefOut"
            },
            "title": "Fixed Assets",
            "type": "array"
          },
          "customer_name": {
            "title": "Customer Name",
            "type": [
              "string",
              "null"
            ]
          },
          "vendor_name": {
            "title": "Vendor Name",
            "type": [
              "string",
              "null"
            ]
          },
          "net_amount": {
            "description": "Net amount before tax",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "readOnly": true,
            "title": "Net Amount",
            "type": "string"
          },
          "tax_amount": {
            "description": "Calculated tax amount",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "readOnly": true,
            "title": "Tax Amount",
            "type": "string"
          },
          "gross_amount": {
            "description": "Calculated total amount including tax",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "readOnly": true,
            "title": "Gross Amount",
            "type": "string"
          },
          "amount": {
            "description": "Calculated total amount including tax named amount for backward compatibility",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "readOnly": true,
            "title": "Amount",
            "type": "string"
          }
        },
        "required": [
          "id",
          "position",
          "rate",
          "quantity",
          "account_number",
          "expense_description",
          "net_amount",
          "tax_amount",
          "gross_amount",
          "amount"
        ],
        "title": "PublicBillExpenseOut",
        "type": "object"
      },
      "PublicBillItemOut": {
        "properties": {
          "tax": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ItemTaxDataOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "position": {
            "title": "Position",
            "type": "integer"
          },
          "item_id": {
            "title": "Item Id",
            "type": "integer"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "rate": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
            "title": "Rate",
            "type": "string"
          },
          "quantity": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
            "title": "Quantity",
            "type": "string"
          },
          "classifications": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/RecordClassificationsSchemaOut"
            },
            "title": "Classifications",
            "type": "array"
          },
          "company_id": {
            "title": "Company Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "item_type": {
            "title": "Item Type",
            "type": [
              "string",
              "null"
            ]
          },
          "hsn_sac_code": {
            "title": "Hsn Sac Code",
            "type": [
              "string",
              "null"
            ]
          },
          "amortizable_assets": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/AmortizableAssetRefOut"
            },
            "title": "Amortizable Assets",
            "type": "array"
          },
          "fixed_assets": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/FixedAssetRefOut"
            },
            "title": "Fixed Assets",
            "type": "array"
          },
          "net_amount": {
            "description": "Net amount before tax",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "readOnly": true,
            "title": "Net Amount",
            "type": "string"
          },
          "tax_amount": {
            "description": "Calculated tax amount",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "readOnly": true,
            "title": "Tax Amount",
            "type": "string"
          },
          "gross_amount": {
            "description": "Calculated total amount including tax",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "readOnly": true,
            "title": "Gross Amount",
            "type": "string"
          },
          "amount": {
            "description": "Calculated total amount including tax named amount for backward compatibility",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "readOnly": true,
            "title": "Amount",
            "type": "string"
          }
        },
        "required": [
          "id",
          "position",
          "item_id",
          "memo",
          "rate",
          "quantity",
          "net_amount",
          "tax_amount",
          "gross_amount",
          "amount"
        ],
        "title": "PublicBillItemOut",
        "type": "object"
      },
      "PublicBillV2SchemaOut": {
        "properties": {
          "custom_fields": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/CustomFieldValuePairOutputSchema"
            },
            "title": "Custom Fields",
            "type": "array"
          },
          "supply_date": {
            "title": "Supply Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "place_of_supply": {
            "title": "Place Of Supply",
            "maxLength": 2,
            "type": [
              "string",
              "null"
            ]
          },
          "tax_registration_numbers": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/TaxRegistrationNumbersSnapshot"
              },
              {
                "type": "null"
              }
            ]
          },
          "tax": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RecordTaxContextOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicAttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "transaction_ids": {
            "items": {
              "type": "integer"
            },
            "title": "Transaction Ids",
            "type": "array"
          },
          "term_id": {
            "title": "Term Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "term_name": {
            "title": "Term Name",
            "type": "string"
          },
          "bank_match_status": {
            "title": "Bank Match Status",
            "type": [
              "string",
              "null"
            ]
          },
          "reconciliation_status": {
            "title": "Reconciliation Status",
            "type": [
              "string",
              "null"
            ]
          },
          "created_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "updated_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "approval_status": {
            "title": "Approval Status",
            "type": [
              "string",
              "null"
            ]
          },
          "next_approvers": {
            "title": "Next Approvers",
            "items": {
              "$ref": "#/components/schemas/ApproverDictSchema"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "rejected_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RejectedBySchema"
              },
              {
                "type": "null"
              }
            ]
          },
          "internal_id": {
            "title": "Internal Id",
            "type": "integer"
          },
          "number": {
            "title": "Number",
            "type": "integer"
          },
          "date": {
            "description": "Posting date (GL date) - the date when the transaction is recorded in the general ledger",
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "description": "Transaction date (inception date) - the date when the transaction actually occurred",
            "format": "date",
            "title": "Transaction Date",
            "type": "string"
          },
          "due_date": {
            "format": "date",
            "title": "Due Date",
            "type": "string"
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "company_name": {
            "title": "Company Name",
            "type": "string"
          },
          "company_currency": {
            "title": "Company Currency",
            "type": "string"
          },
          "vendor_id": {
            "title": "Vendor Id",
            "type": "integer"
          },
          "vendor_name": {
            "title": "Vendor Name",
            "type": "string"
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "exchange_rate": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
            "title": "Exchange Rate",
            "type": "string"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "amount": {
            "description": "Total amount of transaction",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Amount",
            "type": "string"
          },
          "amount_due": {
            "description": "Amount to be paid",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Amount Due",
            "type": "string"
          },
          "paid_total": {
            "description": "Amount that was already paid by Vendor Prepayment Applications or Vendor Payments",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Paid Total",
            "type": "string"
          },
          "items": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicBillItemOut"
            },
            "title": "Items",
            "type": "array"
          },
          "expenses": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicBillExpenseOut"
            },
            "title": "Expenses",
            "type": "array"
          },
          "record_status": {
            "$ref": "#/components/schemas/RecordStatus"
          },
          "recurring_record_number": {
            "title": "Recurring Record Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "purchase_order_number": {
            "title": "Purchase Order Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "reference_number": {
            "title": "Reference Number",
            "type": "string"
          },
          "items_has_more": {
            "default": false,
            "title": "Items Has More",
            "type": "boolean"
          },
          "items_count": {
            "default": 0,
            "title": "Items Count",
            "type": "integer"
          },
          "expenses_has_more": {
            "default": false,
            "title": "Expenses Has More",
            "type": "boolean"
          },
          "expenses_count": {
            "default": 0,
            "title": "Expenses Count",
            "type": "integer"
          },
          "created_at": {
            "description": "Date and time the record was created",
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "updated_at": {
            "description": "Date and time the record was last updated",
            "format": "date-time",
            "title": "Updated At",
            "type": "string"
          }
        },
        "required": [
          "supply_date",
          "tax",
          "transaction_ids",
          "term_id",
          "term_name",
          "internal_id",
          "number",
          "date",
          "transaction_date",
          "due_date",
          "company_id",
          "company_name",
          "company_currency",
          "vendor_id",
          "vendor_name",
          "currency_iso_4217_code",
          "exchange_rate",
          "memo",
          "amount",
          "amount_due",
          "paid_total",
          "record_status",
          "recurring_record_number",
          "purchase_order_number",
          "reference_number",
          "created_at",
          "updated_at"
        ],
        "title": "PublicBillV2SchemaOut",
        "type": "object"
      },
      "PublicBillExpenseIn": {
        "properties": {
          "tax": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ItemTaxData"
              },
              {
                "type": "null"
              }
            ]
          },
          "id": {
            "title": "Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "position": {
            "title": "Position",
            "type": "integer"
          },
          "rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
                "type": "string"
              }
            ],
            "title": "Rate"
          },
          "quantity": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
                "type": "string"
              }
            ],
            "title": "Quantity"
          },
          "account_number": {
            "title": "Account Number",
            "type": "integer"
          },
          "expense_description": {
            "title": "Expense Description",
            "type": "string"
          },
          "classifications": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/RecordClassificationsSchemaOut"
            },
            "title": "Classifications",
            "type": "array"
          },
          "customer_id": {
            "title": "Customer Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "vendor_id": {
            "title": "Vendor Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "position",
          "rate",
          "quantity",
          "account_number",
          "expense_description"
        ],
        "title": "PublicBillExpenseIn",
        "type": "object"
      },
      "PublicBillItemIn": {
        "properties": {
          "tax": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ItemTaxData"
              },
              {
                "type": "null"
              }
            ]
          },
          "id": {
            "title": "Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "position": {
            "title": "Position",
            "type": "integer"
          },
          "item_id": {
            "title": "Item Id",
            "type": "integer"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
                "type": "string"
              }
            ],
            "title": "Rate"
          },
          "quantity": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
                "type": "string"
              }
            ],
            "title": "Quantity"
          },
          "classifications": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/RecordClassificationsSchemaOut"
            },
            "title": "Classifications",
            "type": "array"
          },
          "company_id": {
            "title": "Company Id",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "position",
          "item_id",
          "memo",
          "rate",
          "quantity"
        ],
        "title": "PublicBillItemIn",
        "type": "object"
      },
      "PublicBillSchemaCreateIn": {
        "properties": {
          "custom_fields": {
            "title": "Custom Fields",
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "title": "Transaction Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "vendor_id": {
            "title": "Vendor Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "currency_iso_4217_code": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              {
                "type": "null"
              }
            ]
          },
          "exchange_rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Exchange Rate"
          },
          "memo": {
            "title": "Memo",
            "type": [
              "string",
              "null"
            ]
          },
          "items": {
            "title": "Items",
            "items": {
              "$ref": "#/components/schemas/PublicBillItemIn"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "expenses": {
            "title": "Expenses",
            "items": {
              "$ref": "#/components/schemas/PublicBillExpenseIn"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "due_date": {
            "title": "Due Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "term_id": {
            "title": "Term Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "reference_number": {
            "default": "",
            "title": "Reference Number",
            "type": "string"
          },
          "purchase_order_number": {
            "title": "Purchase Order Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/AttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "record_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RecordStatus"
              }
            ],
            "default": "posted"
          }
        },
        "required": [
          "date"
        ],
        "title": "PublicBillSchemaCreateIn",
        "type": "object"
      },
      "PublicBillSchemaUpdateIn": {
        "properties": {
          "custom_fields": {
            "title": "Custom Fields",
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "title": "Transaction Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "vendor_id": {
            "title": "Vendor Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "currency_iso_4217_code": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              {
                "type": "null"
              }
            ]
          },
          "exchange_rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Exchange Rate"
          },
          "memo": {
            "title": "Memo",
            "type": [
              "string",
              "null"
            ]
          },
          "items": {
            "title": "Items",
            "items": {
              "$ref": "#/components/schemas/PublicBillItemIn"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "expenses": {
            "title": "Expenses",
            "items": {
              "$ref": "#/components/schemas/PublicBillExpenseIn"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "due_date": {
            "title": "Due Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "term_id": {
            "title": "Term Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "reference_number": {
            "default": "",
            "title": "Reference Number",
            "type": "string"
          },
          "purchase_order_number": {
            "title": "Purchase Order Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/AttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "record_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RecordStatus"
              }
            ],
            "default": "posted"
          }
        },
        "required": [
          "date"
        ],
        "title": "PublicBillSchemaUpdateIn",
        "type": "object"
      },
      "PublicBillSchemaPatchIn": {
        "description": "Partial update payload for PATCH /public/bills/{number}/.\n\nEvery field is optional: send only the fields you want to change.\nUnset fields are left untouched on the existing record.\n\nUpdates allowed under the same constraints as PUT: period locks,\npayment-applied restrictions, and approval-workflow rules apply.",
        "properties": {
          "custom_fields": {
            "title": "Custom Fields",
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "vendor_id": {
            "title": "Vendor Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "currency_iso_4217_code": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              {
                "type": "null"
              }
            ]
          },
          "exchange_rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Exchange Rate"
          },
          "memo": {
            "title": "Memo",
            "type": [
              "string",
              "null"
            ]
          },
          "items": {
            "title": "Items",
            "items": {
              "$ref": "#/components/schemas/PublicBillItemIn"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "expenses": {
            "title": "Expenses",
            "items": {
              "$ref": "#/components/schemas/PublicBillExpenseIn"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "due_date": {
            "title": "Due Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "term_id": {
            "title": "Term Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "reference_number": {
            "default": "",
            "title": "Reference Number",
            "type": "string"
          },
          "purchase_order_number": {
            "title": "Purchase Order Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "attachments": {
            "title": "Attachments",
            "items": {
              "$ref": "#/components/schemas/AttachmentSchemaOut"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "record_status": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RecordStatus"
              },
              {
                "type": "null"
              }
            ]
          },
          "date": {
            "title": "Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "transaction_date": {
            "title": "Transaction Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "title": "PublicBillSchemaPatchIn",
        "type": "object"
      },
      "PagedPublicBillLineOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicBillLineOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicBillLineOut",
        "type": "object"
      },
      "PublicBillLineOut": {
        "description": "Unified V2 bill line: one row of `bill_lines`, item or expense, tagged by `line_type`.\n\nItem-only fields (`item_id`, `memo`) are null on expense rows; expense-only fields\n(`account_number`, `expense_description`, `customer_*`, `vendor_*`) are null on item rows.",
        "properties": {
          "item_type": {
            "title": "Item Type",
            "type": [
              "string",
              "null"
            ]
          },
          "hsn_sac_code": {
            "title": "Hsn Sac Code",
            "type": [
              "string",
              "null"
            ]
          },
          "amortizable_assets": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/AmortizableAssetRefOut"
            },
            "title": "Amortizable Assets",
            "type": "array"
          },
          "fixed_assets": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/FixedAssetRefOut"
            },
            "title": "Fixed Assets",
            "type": "array"
          },
          "classifications": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/RecordClassificationsSchemaOut"
            },
            "title": "Classifications",
            "type": "array"
          },
          "tax": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ItemTaxDataOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "line_type": {
            "title": "Line Type",
            "type": "string"
          },
          "position": {
            "title": "Position",
            "type": "integer"
          },
          "rate": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
            "title": "Rate",
            "type": "string"
          },
          "quantity": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
            "title": "Quantity",
            "type": "string"
          },
          "company_id": {
            "title": "Company Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "item_id": {
            "title": "Item Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "memo": {
            "title": "Memo",
            "type": [
              "string",
              "null"
            ]
          },
          "account_number": {
            "title": "Account Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "expense_description": {
            "title": "Expense Description",
            "type": [
              "string",
              "null"
            ]
          },
          "customer_id": {
            "title": "Customer Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "customer_name": {
            "title": "Customer Name",
            "type": [
              "string",
              "null"
            ]
          },
          "vendor_id": {
            "title": "Vendor Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "vendor_name": {
            "title": "Vendor Name",
            "type": [
              "string",
              "null"
            ]
          },
          "net_amount": {
            "description": "Net amount before tax",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "readOnly": true,
            "title": "Net Amount",
            "type": "string"
          },
          "tax_amount": {
            "description": "Calculated tax amount",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "readOnly": true,
            "title": "Tax Amount",
            "type": "string"
          },
          "gross_amount": {
            "description": "Calculated total amount including tax",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "readOnly": true,
            "title": "Gross Amount",
            "type": "string"
          },
          "amount": {
            "description": "Calculated total amount including tax named amount for backward compatibility",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "readOnly": true,
            "title": "Amount",
            "type": "string"
          }
        },
        "required": [
          "id",
          "line_type",
          "position",
          "rate",
          "quantity",
          "net_amount",
          "tax_amount",
          "gross_amount",
          "amount"
        ],
        "title": "PublicBillLineOut",
        "type": "object"
      },
      "PublicJournalEntryV2ListFilterSchema": {
        "properties": {
          "integration_sources": {
            "title": "Integration Sources",
            "items": {
              "$ref": "#/components/schemas/IntegrationSourceSlug"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "search": {
            "title": "Search",
            "type": [
              "string",
              "null"
            ]
          },
          "company_id": {
            "q": "company_id__in",
            "title": "Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "account_id": {
            "q": "journal_entry_lines__account_id__in",
            "title": "Account Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "customer_id": {
            "q": "journal_entry_lines__customer_id__in",
            "title": "Customer Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "vendor_id": {
            "q": "journal_entry_lines__vendor_id__in",
            "title": "Vendor Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "number": {
            "q": "number__in",
            "title": "Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "start_date": {
            "q": "transaction__date__gte",
            "title": "Start Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "end_date": {
            "q": "transaction__date__lte",
            "title": "End Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "record_status": {
            "q": "transaction__record_status__in",
            "title": "Record Status",
            "items": {
              "$ref": "#/components/schemas/RecordStatus"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "approval_status": {
            "title": "Approval Status",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "approval_status_scope": {
            "title": "Approval Status Scope",
            "items": {
              "$ref": "#/components/schemas/RecordStatus"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "amount_gte": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "q": "transaction__amount__gte",
            "title": "Amount Gte"
          },
          "amount_lte": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "q": "transaction__amount__lte",
            "title": "Amount Lte"
          },
          "updated_after": {
            "q": "updated_at__gte",
            "title": "Updated After",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_before": {
            "q": "updated_at__lte",
            "title": "Updated Before",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "title": "PublicJournalEntryV2ListFilterSchema",
        "type": "object"
      },
      "PagedPublicJournalEntryV2ListSchemaOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicJournalEntryV2ListSchemaOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicJournalEntryV2ListSchemaOut",
        "type": "object"
      },
      "PublicJournalEntryV2ListSchemaOut": {
        "properties": {
          "custom_fields": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/CustomFieldValuePairOutputSchema"
            },
            "title": "Custom Fields",
            "type": "array"
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicAttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "bank_match_status": {
            "title": "Bank Match Status",
            "type": [
              "string",
              "null"
            ]
          },
          "reconciliation_status": {
            "title": "Reconciliation Status",
            "type": [
              "string",
              "null"
            ]
          },
          "created_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "updated_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "approval_status": {
            "title": "Approval Status",
            "type": [
              "string",
              "null"
            ]
          },
          "next_approvers": {
            "title": "Next Approvers",
            "items": {
              "$ref": "#/components/schemas/ApproverDictSchema"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "rejected_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RejectedBySchema"
              },
              {
                "type": "null"
              }
            ]
          },
          "internal_id": {
            "title": "Internal Id",
            "type": "integer"
          },
          "number": {
            "title": "Number",
            "type": "integer"
          },
          "transaction_id": {
            "title": "Transaction Id",
            "type": "integer"
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "company_name": {
            "title": "Company Name",
            "type": "string"
          },
          "company_currency": {
            "title": "Company Currency",
            "type": "string"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "date": {
            "description": "Posting date (GL date) - the date when the transaction is recorded in the general ledger",
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "description": "Transaction date (inception date) - the date when the transaction actually occurred",
            "format": "date",
            "title": "Transaction Date",
            "type": "string"
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "amount": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Amount",
            "type": "string"
          },
          "exchange_rate": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
            "title": "Exchange Rate",
            "type": "string"
          },
          "record_status": {
            "$ref": "#/components/schemas/RecordStatus"
          },
          "reversal_date": {
            "description": "Posting date of the reversal, or null when the journal entry is not reversed. Mirrors the `reversal_date` accepted on create/update.",
            "title": "Reversal Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "created_at": {
            "description": "Date and time the record was created",
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "updated_at": {
            "description": "Date and time the record was last updated",
            "format": "date-time",
            "title": "Updated At",
            "type": "string"
          }
        },
        "required": [
          "internal_id",
          "number",
          "transaction_id",
          "company_id",
          "company_name",
          "company_currency",
          "memo",
          "date",
          "transaction_date",
          "currency_iso_4217_code",
          "amount",
          "exchange_rate",
          "record_status",
          "created_at",
          "updated_at"
        ],
        "title": "PublicJournalEntryV2ListSchemaOut",
        "type": "object"
      },
      "PublicJournalEntryItemOut": {
        "properties": {
          "amortizable_assets": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/AmortizableAssetRefOut"
            },
            "title": "Amortizable Assets",
            "type": "array"
          },
          "fixed_assets": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/FixedAssetRefOut"
            },
            "title": "Fixed Assets",
            "type": "array"
          },
          "debit": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Debit",
            "type": "string"
          },
          "credit": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Credit",
            "type": "string"
          },
          "classifications": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/RecordClassificationsSchemaOut"
            },
            "title": "Classifications",
            "type": "array"
          },
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "entry_id": {
            "title": "Entry Id",
            "type": "integer"
          },
          "account_number": {
            "title": "Account Number",
            "type": "integer"
          },
          "position": {
            "title": "Position",
            "type": "integer"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "customer_id": {
            "title": "Customer Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "customer_name": {
            "title": "Customer Name",
            "type": [
              "string",
              "null"
            ]
          },
          "vendor_id": {
            "title": "Vendor Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "vendor_name": {
            "title": "Vendor Name",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "debit",
          "credit",
          "id",
          "entry_id",
          "account_number",
          "position",
          "memo"
        ],
        "title": "PublicJournalEntryItemOut",
        "type": "object"
      },
      "PublicJournalEntryV2ItemOut": {
        "description": "V2 journal entry line: adds handles to the line's reversal counterpart.\n\nReversal lines are byte-identical to the line they reverse except for their own `id`/`entry_id`\nand swapped debit/credit, so V2 links to them from the NORMAL line instead of duplicating every\nrow in a second collection. `reversal_entry_id` is the GL-level handle accepted by\n`POST /public/v2/bank-match/matches/`; both are null when the journal entry has no reversal.",
        "properties": {
          "amortizable_assets": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/AmortizableAssetRefOut"
            },
            "title": "Amortizable Assets",
            "type": "array"
          },
          "fixed_assets": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/FixedAssetRefOut"
            },
            "title": "Fixed Assets",
            "type": "array"
          },
          "debit": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Debit",
            "type": "string"
          },
          "credit": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Credit",
            "type": "string"
          },
          "classifications": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/RecordClassificationsSchemaOut"
            },
            "title": "Classifications",
            "type": "array"
          },
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "entry_id": {
            "title": "Entry Id",
            "type": "integer"
          },
          "account_number": {
            "title": "Account Number",
            "type": "integer"
          },
          "position": {
            "title": "Position",
            "type": "integer"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "customer_id": {
            "title": "Customer Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "customer_name": {
            "title": "Customer Name",
            "type": [
              "string",
              "null"
            ]
          },
          "vendor_id": {
            "title": "Vendor Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "vendor_name": {
            "title": "Vendor Name",
            "type": [
              "string",
              "null"
            ]
          },
          "reversal_line_id": {
            "title": "Reversal Line Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "reversal_entry_id": {
            "title": "Reversal Entry Id",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "debit",
          "credit",
          "id",
          "entry_id",
          "account_number",
          "position",
          "memo"
        ],
        "title": "PublicJournalEntryV2ItemOut",
        "type": "object"
      },
      "PublicJournalEntryV2SchemaOut": {
        "properties": {
          "custom_fields": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/CustomFieldValuePairOutputSchema"
            },
            "title": "Custom Fields",
            "type": "array"
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicAttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "reversal_items": {
            "default": [],
            "deprecated": true,
            "description": "Deprecated: superseded by `reversal_date` plus `reversal_line_id`/`reversal_entry_id` on each line in `items`. Capped at 100 rows; a reversal always mirrors every line, so `lines_count` is also its total.",
            "items": {
              "$ref": "#/components/schemas/PublicJournalEntryItemOut"
            },
            "title": "Reversal Items",
            "type": "array"
          },
          "items": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicJournalEntryV2ItemOut"
            },
            "title": "Items",
            "type": "array"
          },
          "bank_match_status": {
            "title": "Bank Match Status",
            "type": [
              "string",
              "null"
            ]
          },
          "reconciliation_status": {
            "title": "Reconciliation Status",
            "type": [
              "string",
              "null"
            ]
          },
          "created_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "updated_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "approval_status": {
            "title": "Approval Status",
            "type": [
              "string",
              "null"
            ]
          },
          "next_approvers": {
            "title": "Next Approvers",
            "items": {
              "$ref": "#/components/schemas/ApproverDictSchema"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "rejected_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RejectedBySchema"
              },
              {
                "type": "null"
              }
            ]
          },
          "internal_id": {
            "title": "Internal Id",
            "type": "integer"
          },
          "number": {
            "title": "Number",
            "type": "integer"
          },
          "transaction_id": {
            "title": "Transaction Id",
            "type": "integer"
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "company_name": {
            "title": "Company Name",
            "type": "string"
          },
          "company_currency": {
            "title": "Company Currency",
            "type": "string"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "date": {
            "description": "Posting date (GL date) - the date when the transaction is recorded in the general ledger",
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "description": "Transaction date (inception date) - the date when the transaction actually occurred",
            "format": "date",
            "title": "Transaction Date",
            "type": "string"
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "amount": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Amount",
            "type": "string"
          },
          "exchange_rate": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
            "title": "Exchange Rate",
            "type": "string"
          },
          "record_status": {
            "$ref": "#/components/schemas/RecordStatus"
          },
          "reversal_date": {
            "description": "Posting date of the reversal, or null when the journal entry is not reversed. Mirrors the `reversal_date` accepted on create/update.",
            "title": "Reversal Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "has_more_lines": {
            "default": false,
            "title": "Has More Lines",
            "type": "boolean"
          },
          "lines_count": {
            "default": 0,
            "title": "Lines Count",
            "type": "integer"
          },
          "created_at": {
            "description": "Date and time the record was created",
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "updated_at": {
            "description": "Date and time the record was last updated",
            "format": "date-time",
            "title": "Updated At",
            "type": "string"
          }
        },
        "required": [
          "internal_id",
          "number",
          "transaction_id",
          "company_id",
          "company_name",
          "company_currency",
          "memo",
          "date",
          "transaction_date",
          "currency_iso_4217_code",
          "amount",
          "exchange_rate",
          "record_status",
          "created_at",
          "updated_at"
        ],
        "title": "PublicJournalEntryV2SchemaOut",
        "type": "object"
      },
      "PublicJournalEntryItemIn": {
        "properties": {
          "id": {
            "title": "Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "account_number": {
            "title": "Account Number",
            "type": "integer"
          },
          "debit": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
                "type": "string"
              }
            ],
            "title": "Debit"
          },
          "credit": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
                "type": "string"
              }
            ],
            "title": "Credit"
          },
          "position": {
            "title": "Position",
            "type": "integer"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "classifications": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/RecordClassificationsSchemaOut"
            },
            "title": "Classifications",
            "type": "array"
          },
          "customer_id": {
            "title": "Customer Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "vendor_id": {
            "title": "Vendor Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "currency": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "account_number",
          "debit",
          "credit",
          "position",
          "memo"
        ],
        "title": "PublicJournalEntryItemIn",
        "type": "object"
      },
      "PublicJournalEntrySchemaCreateIn": {
        "properties": {
          "items": {
            "title": "Items",
            "items": {
              "$ref": "#/components/schemas/PublicJournalEntryItemIn"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "title": "Transaction Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "custom_fields": {
            "title": "Custom Fields",
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "memo": {
            "title": "Memo",
            "type": [
              "string",
              "null"
            ]
          },
          "currency_iso_4217_code": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              {
                "type": "null"
              }
            ]
          },
          "exchange_rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Exchange Rate"
          },
          "reversal_date": {
            "title": "Reversal Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/AttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "record_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RecordStatus"
              }
            ],
            "default": "posted"
          }
        },
        "required": [
          "date"
        ],
        "title": "PublicJournalEntrySchemaCreateIn",
        "type": "object"
      },
      "PublicJournalEntrySchemaUpdateIn": {
        "properties": {
          "items": {
            "title": "Items",
            "items": {
              "$ref": "#/components/schemas/PublicJournalEntryItemIn"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "title": "Transaction Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "custom_fields": {
            "title": "Custom Fields",
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "memo": {
            "title": "Memo",
            "type": [
              "string",
              "null"
            ]
          },
          "currency_iso_4217_code": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              {
                "type": "null"
              }
            ]
          },
          "exchange_rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Exchange Rate"
          },
          "reversal_date": {
            "title": "Reversal Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/AttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "record_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RecordStatus"
              }
            ],
            "default": "posted"
          }
        },
        "required": [
          "date"
        ],
        "title": "PublicJournalEntrySchemaUpdateIn",
        "type": "object"
      },
      "PagedPublicJournalEntryV2ItemOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicJournalEntryV2ItemOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicJournalEntryV2ItemOut",
        "type": "object"
      },
      "PublicPurchaseOrderV2ListFilterSchema": {
        "properties": {
          "search": {
            "title": "Search",
            "type": [
              "string",
              "null"
            ]
          },
          "company_id": {
            "q": "company_id__in",
            "title": "Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "number": {
            "q": "number__in",
            "title": "Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "vendor_id": {
            "q": "vendor_id__in",
            "title": "Vendor Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "start_date": {
            "q": "date__gte",
            "title": "Start Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "end_date": {
            "q": "date__lte",
            "title": "End Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "record_status": {
            "q": "record_status__in",
            "title": "Record Status",
            "items": {
              "$ref": "#/components/schemas/RecordStatus"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "approval_status": {
            "title": "Approval Status",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "approval_status_scope": {
            "title": "Approval Status Scope",
            "items": {
              "$ref": "#/components/schemas/RecordStatus"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "billed": {
            "title": "Billed",
            "type": [
              "boolean",
              "null"
            ]
          },
          "unbilled": {
            "title": "Unbilled",
            "type": [
              "boolean",
              "null"
            ]
          },
          "partially_billed": {
            "title": "Partially Billed",
            "type": [
              "boolean",
              "null"
            ]
          },
          "billed_status": {
            "default": [],
            "items": {
              "enum": [
                "billed",
                "unbilled",
                "partially_billed"
              ],
              "title": "PurchaseOrderBilledStatus",
              "type": "string"
            },
            "title": "Billed Status",
            "type": "array",
            "uniqueItems": true
          },
          "updated_after": {
            "q": "updated_at__gte",
            "title": "Updated After",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_before": {
            "q": "updated_at__lte",
            "title": "Updated Before",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "title": "PublicPurchaseOrderV2ListFilterSchema",
        "type": "object"
      },
      "PurchaseOrderBilledStatus": {
        "enum": [
          "billed",
          "unbilled",
          "partially_billed"
        ],
        "title": "PurchaseOrderBilledStatus",
        "type": "string"
      },
      "PagedPublicPurchaseOrderV2ListSchemaOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicPurchaseOrderV2ListSchemaOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicPurchaseOrderV2ListSchemaOut",
        "type": "object"
      },
      "PublicPurchaseOrderV2ListSchemaOut": {
        "properties": {
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicAttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "term_id": {
            "title": "Term Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "term_name": {
            "title": "Term Name",
            "type": "string"
          },
          "created_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "updated_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "approval_status": {
            "title": "Approval Status",
            "type": [
              "string",
              "null"
            ]
          },
          "next_approvers": {
            "title": "Next Approvers",
            "items": {
              "$ref": "#/components/schemas/ApproverDictSchema"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "rejected_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RejectedBySchema"
              },
              {
                "type": "null"
              }
            ]
          },
          "internal_id": {
            "title": "Internal Id",
            "type": "integer"
          },
          "number": {
            "title": "Number",
            "type": "integer"
          },
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "company_name": {
            "description": "Name of the company",
            "title": "Company Name",
            "type": "string"
          },
          "company_currency": {
            "title": "Company Currency",
            "type": "string"
          },
          "vendor_id": {
            "title": "Vendor Id",
            "type": "integer"
          },
          "vendor_name": {
            "title": "Vendor Name",
            "type": "string"
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "exchange_rate": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
            "title": "Exchange Rate",
            "type": "string"
          },
          "billed_total": {
            "description": "Total quantity of items that were already billed",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Billed Total",
            "type": "string"
          },
          "due_total": {
            "description": "Total quantity of items yet to be billed",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Due Total",
            "type": "string"
          },
          "amount": {
            "description": "Total amount of ordered items",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Amount",
            "type": "string"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "record_status": {
            "$ref": "#/components/schemas/RecordStatus"
          },
          "billed_status": {
            "$ref": "#/components/schemas/PurchaseOrderBilledStatus"
          },
          "reference_number": {
            "default": "",
            "title": "Reference Number",
            "type": "string"
          },
          "created_at": {
            "description": "Date and time the record was created",
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "updated_at": {
            "description": "Date and time the record was last updated",
            "format": "date-time",
            "title": "Updated At",
            "type": "string"
          }
        },
        "required": [
          "term_id",
          "term_name",
          "internal_id",
          "number",
          "date",
          "company_id",
          "company_name",
          "company_currency",
          "vendor_id",
          "vendor_name",
          "currency_iso_4217_code",
          "exchange_rate",
          "billed_total",
          "due_total",
          "amount",
          "memo",
          "record_status",
          "billed_status",
          "created_at",
          "updated_at"
        ],
        "title": "PublicPurchaseOrderV2ListSchemaOut",
        "type": "object"
      },
      "PublicPurchaseOrderItemOut": {
        "properties": {
          "classifications": {
            "description": "Classifications of the item",
            "items": {
              "$ref": "#/components/schemas/PublicRecordClassificationsSchemaOut"
            },
            "title": "Classifications",
            "type": "array"
          },
          "item_type": {
            "title": "Item Type",
            "type": [
              "string",
              "null"
            ]
          },
          "hsn_sac_code": {
            "title": "Hsn Sac Code",
            "type": [
              "string",
              "null"
            ]
          },
          "tax": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ItemTaxDataOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "id": {
            "description": "ID of the item",
            "title": "Id",
            "type": "integer"
          },
          "item_id": {
            "description": "ID of the inventory item",
            "title": "Item Id",
            "type": "integer"
          },
          "position": {
            "description": "Position of the item in the purchase order",
            "title": "Position",
            "type": "integer"
          },
          "memo": {
            "description": "Memo of the item",
            "title": "Memo",
            "type": "string"
          },
          "quantity": {
            "description": "Quantity ordered",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
            "title": "Quantity",
            "type": "string"
          },
          "rate": {
            "description": "Rate per unit",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
            "title": "Rate",
            "type": "string"
          },
          "quantity_billed": {
            "description": "Quantity of items that already have corresponding Bill",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
            "title": "Quantity Billed",
            "type": "string"
          },
          "quantity_due": {
            "description": "Quantity of items yet to be billed",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
            "title": "Quantity Due",
            "type": "string"
          },
          "net_amount": {
            "description": "Net amount before tax",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "readOnly": true,
            "title": "Net Amount",
            "type": "string"
          },
          "tax_amount": {
            "description": "Calculated tax amount",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "readOnly": true,
            "title": "Tax Amount",
            "type": "string"
          },
          "gross_amount": {
            "description": "Calculated total amount including tax",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "readOnly": true,
            "title": "Gross Amount",
            "type": "string"
          },
          "amount": {
            "description": "Calculated total amount including tax named amount for backward compatibility",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "readOnly": true,
            "title": "Amount",
            "type": "string"
          }
        },
        "required": [
          "classifications",
          "id",
          "item_id",
          "position",
          "memo",
          "quantity",
          "rate",
          "quantity_billed",
          "quantity_due",
          "net_amount",
          "tax_amount",
          "gross_amount",
          "amount"
        ],
        "title": "PublicPurchaseOrderItemOut",
        "type": "object"
      },
      "PublicPurchaseOrderV2SchemaOut": {
        "properties": {
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicAttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "term_id": {
            "title": "Term Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "term_name": {
            "title": "Term Name",
            "type": "string"
          },
          "created_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "updated_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "approval_status": {
            "title": "Approval Status",
            "type": [
              "string",
              "null"
            ]
          },
          "next_approvers": {
            "title": "Next Approvers",
            "items": {
              "$ref": "#/components/schemas/ApproverDictSchema"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "rejected_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RejectedBySchema"
              },
              {
                "type": "null"
              }
            ]
          },
          "internal_id": {
            "title": "Internal Id",
            "type": "integer"
          },
          "number": {
            "title": "Number",
            "type": "integer"
          },
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "company_name": {
            "description": "Name of the company",
            "title": "Company Name",
            "type": "string"
          },
          "company_currency": {
            "title": "Company Currency",
            "type": "string"
          },
          "vendor_id": {
            "title": "Vendor Id",
            "type": "integer"
          },
          "vendor_name": {
            "title": "Vendor Name",
            "type": "string"
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "exchange_rate": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
            "title": "Exchange Rate",
            "type": "string"
          },
          "billed_total": {
            "description": "Total quantity of items that were already billed",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Billed Total",
            "type": "string"
          },
          "due_total": {
            "description": "Total quantity of items yet to be billed",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Due Total",
            "type": "string"
          },
          "amount": {
            "description": "Total amount of ordered items",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Amount",
            "type": "string"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "items": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicPurchaseOrderItemOut"
            },
            "title": "Items",
            "type": "array"
          },
          "record_status": {
            "$ref": "#/components/schemas/RecordStatus"
          },
          "billed_status": {
            "$ref": "#/components/schemas/PurchaseOrderBilledStatus"
          },
          "reference_number": {
            "default": "",
            "title": "Reference Number",
            "type": "string"
          },
          "has_more_lines": {
            "default": false,
            "title": "Has More Lines",
            "type": "boolean"
          },
          "lines_count": {
            "default": 0,
            "title": "Lines Count",
            "type": "integer"
          },
          "created_at": {
            "description": "Date and time the record was created",
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "updated_at": {
            "description": "Date and time the record was last updated",
            "format": "date-time",
            "title": "Updated At",
            "type": "string"
          }
        },
        "required": [
          "term_id",
          "term_name",
          "internal_id",
          "number",
          "date",
          "company_id",
          "company_name",
          "company_currency",
          "vendor_id",
          "vendor_name",
          "currency_iso_4217_code",
          "exchange_rate",
          "billed_total",
          "due_total",
          "amount",
          "memo",
          "record_status",
          "billed_status",
          "created_at",
          "updated_at"
        ],
        "title": "PublicPurchaseOrderV2SchemaOut",
        "type": "object"
      },
      "PublicRecordClassificationsSchemaOut": {
        "properties": {
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "line_id": {
            "title": "Line Id",
            "type": "integer"
          },
          "line_name": {
            "title": "Line Name",
            "type": "string"
          },
          "parent_classification_id": {
            "title": "Parent Classification Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "parent_classification_line_id": {
            "title": "Parent Classification Line Id",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "name",
          "line_id",
          "line_name"
        ],
        "title": "PublicRecordClassificationsSchemaOut",
        "type": "object"
      },
      "PublicPurchaseOrderItemIn": {
        "properties": {
          "tax": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ItemTaxData"
              },
              {
                "type": "null"
              }
            ]
          },
          "id": {
            "title": "Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "position": {
            "description": "Position of the item in the purchase order",
            "title": "Position",
            "type": "integer"
          },
          "item_id": {
            "description": "ID of the item",
            "title": "Item Id",
            "type": "integer"
          },
          "memo": {
            "description": "Memo of the item",
            "title": "Memo",
            "type": "string"
          },
          "quantity": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
                "type": "string"
              }
            ],
            "description": "Quantity of the item",
            "title": "Quantity"
          },
          "rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
                "type": "string"
              }
            ],
            "description": "Rate of the item",
            "title": "Rate"
          },
          "classifications": {
            "description": "Classifications of the item",
            "items": {
              "$ref": "#/components/schemas/PublicRecordClassificationsSchemaOut"
            },
            "title": "Classifications",
            "type": "array"
          }
        },
        "required": [
          "position",
          "item_id",
          "memo",
          "quantity",
          "rate",
          "classifications"
        ],
        "title": "PublicPurchaseOrderItemIn",
        "type": "object"
      },
      "PublicPurchaseOrderSchemaCreateIn": {
        "properties": {
          "supply_date": {
            "title": "Supply Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "place_of_supply": {
            "title": "Place Of Supply",
            "maxLength": 2,
            "type": [
              "string",
              "null"
            ]
          },
          "tax_registration_numbers": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/TaxRegistrationNumbersSnapshot"
              },
              {
                "type": "null"
              }
            ]
          },
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "vendor_id": {
            "title": "Vendor Id",
            "type": "integer"
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "exchange_rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
                "type": "string"
              }
            ],
            "title": "Exchange Rate"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicPurchaseOrderItemIn"
            },
            "title": "Items",
            "type": "array"
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/AttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "record_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RecordStatus"
              }
            ],
            "default": "posted"
          },
          "term_id": {
            "title": "Term Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "reference_number": {
            "default": "",
            "title": "Reference Number",
            "type": "string"
          }
        },
        "required": [
          "date",
          "company_id",
          "vendor_id",
          "currency_iso_4217_code",
          "exchange_rate",
          "memo",
          "items"
        ],
        "title": "PublicPurchaseOrderSchemaCreateIn",
        "type": "object"
      },
      "PublicPurchaseOrderSchemaUpdateIn": {
        "properties": {
          "supply_date": {
            "title": "Supply Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "place_of_supply": {
            "title": "Place Of Supply",
            "maxLength": 2,
            "type": [
              "string",
              "null"
            ]
          },
          "tax_registration_numbers": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/TaxRegistrationNumbersSnapshot"
              },
              {
                "type": "null"
              }
            ]
          },
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "vendor_id": {
            "title": "Vendor Id",
            "type": "integer"
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "exchange_rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
                "type": "string"
              }
            ],
            "title": "Exchange Rate"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicPurchaseOrderItemIn"
            },
            "title": "Items",
            "type": "array"
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/AttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "record_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RecordStatus"
              }
            ],
            "default": "posted"
          },
          "term_id": {
            "title": "Term Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "reference_number": {
            "default": "",
            "title": "Reference Number",
            "type": "string"
          }
        },
        "required": [
          "date",
          "company_id",
          "vendor_id",
          "currency_iso_4217_code",
          "exchange_rate",
          "memo",
          "items"
        ],
        "title": "PublicPurchaseOrderSchemaUpdateIn",
        "type": "object"
      },
      "PagedPublicPurchaseOrderItemOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicPurchaseOrderItemOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicPurchaseOrderItemOut",
        "type": "object"
      },
      "PublicCustomerPrepaymentListFilterSchema": {
        "properties": {
          "search": {
            "title": "Search",
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "q": "id__in",
            "title": "Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "company_id": {
            "q": "company_id__in",
            "title": "Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "number": {
            "q": "number__in",
            "title": "Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "customer_id": {
            "q": "customer_id__in",
            "title": "Customer Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "start_date": {
            "q": "transaction__date__gte",
            "title": "Start Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "end_date": {
            "q": "transaction__date__lte",
            "title": "End Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "transaction_currency": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              {
                "type": "null"
              }
            ],
            "q": "transaction__currency_iso_4217_code"
          },
          "record_status": {
            "q": "transaction__record_status__in",
            "title": "Record Status",
            "items": {
              "$ref": "#/components/schemas/RecordStatus"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "updated_after": {
            "q": "updated_at__gte",
            "title": "Updated After",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_before": {
            "q": "updated_at__lte",
            "title": "Updated Before",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "title": "PublicCustomerPrepaymentListFilterSchema",
        "type": "object"
      },
      "CustomerDepositDataPublicSchema": {
        "properties": {
          "number": {
            "title": "Number",
            "type": "integer"
          },
          "date": {
            "title": "Date",
            "type": "string"
          },
          "amount": {
            "title": "Amount",
            "type": "number"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "record_status": {
            "$ref": "#/components/schemas/core__models__base__RecordStatus"
          }
        },
        "required": [
          "number",
          "date",
          "amount",
          "memo",
          "record_status"
        ],
        "title": "CustomerDepositDataPublicSchema",
        "type": "object"
      },
      "PagedPublicCustomerPrepaymentSchemaOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicCustomerPrepaymentSchemaOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicCustomerPrepaymentSchemaOut",
        "type": "object"
      },
      "PublicCustomerPrepaymentSchemaOut": {
        "properties": {
          "transaction_ids": {
            "items": {
              "type": "integer"
            },
            "title": "Transaction Ids",
            "type": "array"
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicAttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "created_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "updated_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "custom_fields": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/CustomFieldValuePairOutputSchema"
            },
            "title": "Custom Fields",
            "type": "array"
          },
          "internal_id": {
            "title": "Internal Id",
            "type": "integer"
          },
          "number": {
            "title": "Number",
            "type": "integer"
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "company_name": {
            "title": "Company Name",
            "type": "string"
          },
          "company_currency": {
            "title": "Company Currency",
            "type": "string"
          },
          "customer_id": {
            "title": "Customer Id",
            "type": "integer"
          },
          "customer_name": {
            "title": "Customer Name",
            "type": "string"
          },
          "account_number": {
            "title": "Account Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "check_number": {
            "title": "Check Number",
            "type": "string"
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "date": {
            "description": "Posting date (GL date) - the date when the transaction is recorded in the general ledger",
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "description": "Transaction date (inception date) - the date when the transaction actually occurred",
            "format": "date",
            "title": "Transaction Date",
            "type": "string"
          },
          "exchange_rate": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
            "title": "Exchange Rate",
            "type": "string"
          },
          "undeposited_funds_currency": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              {
                "type": "null"
              }
            ]
          },
          "bank_or_undeposited_funds_amount": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Bank Or Undeposited Funds Amount",
            "type": "string"
          },
          "amount": {
            "description": "Total transaction amount",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Amount",
            "type": "string"
          },
          "used_amount": {
            "description": "Amount that was already applied to Invoices",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Used Amount",
            "type": "string"
          },
          "remaining_amount": {
            "description": "Amount that can be applied to Invoices",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Remaining Amount",
            "type": "string"
          },
          "payment_method_id": {
            "title": "Payment Method Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "record_status": {
            "$ref": "#/components/schemas/RecordStatus"
          },
          "customer_deposits": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/CustomerDepositDataPublicSchema"
            },
            "title": "Customer Deposits",
            "type": "array"
          },
          "recurring_record_number": {
            "title": "Recurring Record Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "created_at": {
            "description": "Date and time the record was created",
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "updated_at": {
            "description": "Date and time the record was last updated",
            "format": "date-time",
            "title": "Updated At",
            "type": "string"
          }
        },
        "required": [
          "transaction_ids",
          "internal_id",
          "number",
          "company_id",
          "company_name",
          "company_currency",
          "customer_id",
          "customer_name",
          "account_number",
          "memo",
          "check_number",
          "currency_iso_4217_code",
          "date",
          "transaction_date",
          "exchange_rate",
          "undeposited_funds_currency",
          "bank_or_undeposited_funds_amount",
          "amount",
          "used_amount",
          "remaining_amount",
          "record_status",
          "recurring_record_number",
          "created_at",
          "updated_at"
        ],
        "title": "PublicCustomerPrepaymentSchemaOut",
        "type": "object"
      },
      "PublicCustomerPrepaymentSchemaCreateIn": {
        "properties": {
          "custom_fields": {
            "title": "Custom Fields",
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "title": "Transaction Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "customer_id": {
            "title": "Customer Id",
            "type": "integer"
          },
          "account_number": {
            "title": "Account Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "memo": {
            "default": "",
            "title": "Memo",
            "type": "string"
          },
          "check_number": {
            "default": "",
            "title": "Check Number",
            "type": "string"
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "exchange_rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
                "type": "string"
              }
            ],
            "title": "Exchange Rate"
          },
          "undeposited_funds_currency": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              {
                "type": "null"
              }
            ]
          },
          "amount": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
                "type": "string"
              }
            ],
            "description": "Total transaction amount",
            "title": "Amount"
          },
          "bank_or_undeposited_funds_amount": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
                "type": "string"
              }
            ],
            "title": "Bank Or Undeposited Funds Amount"
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/AttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "payment_method_id": {
            "title": "Payment Method Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "record_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RecordStatus"
              }
            ],
            "default": "posted"
          }
        },
        "required": [
          "date",
          "company_id",
          "customer_id",
          "currency_iso_4217_code",
          "exchange_rate",
          "amount",
          "bank_or_undeposited_funds_amount"
        ],
        "title": "PublicCustomerPrepaymentSchemaCreateIn",
        "type": "object"
      },
      "PublicCustomerPrepaymentSchemaUpdateIn": {
        "properties": {
          "custom_fields": {
            "title": "Custom Fields",
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "title": "Transaction Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "customer_id": {
            "title": "Customer Id",
            "type": "integer"
          },
          "account_number": {
            "title": "Account Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "memo": {
            "default": "",
            "title": "Memo",
            "type": "string"
          },
          "check_number": {
            "default": "",
            "title": "Check Number",
            "type": "string"
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "exchange_rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
                "type": "string"
              }
            ],
            "title": "Exchange Rate"
          },
          "undeposited_funds_currency": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              {
                "type": "null"
              }
            ]
          },
          "amount": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
                "type": "string"
              }
            ],
            "description": "Total transaction amount",
            "title": "Amount"
          },
          "bank_or_undeposited_funds_amount": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
                "type": "string"
              }
            ],
            "title": "Bank Or Undeposited Funds Amount"
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/AttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "payment_method_id": {
            "title": "Payment Method Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "record_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RecordStatus"
              }
            ],
            "default": "posted"
          }
        },
        "required": [
          "date",
          "company_id",
          "customer_id",
          "currency_iso_4217_code",
          "exchange_rate",
          "amount",
          "bank_or_undeposited_funds_amount"
        ],
        "title": "PublicCustomerPrepaymentSchemaUpdateIn",
        "type": "object"
      },
      "PublicCustomerPrepaymentApplicationV2ListFilterSchema": {
        "properties": {
          "search": {
            "title": "Search",
            "type": [
              "string",
              "null"
            ]
          },
          "company_id": {
            "q": "company_id__in",
            "title": "Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "number": {
            "q": "number__in",
            "title": "Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "customer_id": {
            "q": "customer_prepayment_application_lines__invoice__customer_id__in",
            "title": "Customer Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "start_date": {
            "q": "transaction__date__gte",
            "title": "Start Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "end_date": {
            "q": "transaction__date__lte",
            "title": "End Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "transaction_currency": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              {
                "type": "null"
              }
            ],
            "q": "transaction__currency_iso_4217_code"
          },
          "record_status": {
            "q": "transaction__record_status__in",
            "title": "Record Status",
            "items": {
              "$ref": "#/components/schemas/RecordStatus"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "updated_after": {
            "q": "updated_at__gte",
            "title": "Updated After",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_before": {
            "q": "updated_at__lte",
            "title": "Updated Before",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "title": "PublicCustomerPrepaymentApplicationV2ListFilterSchema",
        "type": "object"
      },
      "PagedPublicCustomerPrepaymentApplicationV2ListSchemaOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicCustomerPrepaymentApplicationV2ListSchemaOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicCustomerPrepaymentApplicationV2ListSchemaOut",
        "type": "object"
      },
      "PublicCustomerPrepaymentApplicationV2ListSchemaOut": {
        "properties": {
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicAttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "classifications": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicRecordClassificationsSchemaOut"
            },
            "title": "Classifications",
            "type": "array"
          },
          "transaction_ids": {
            "items": {
              "type": "integer"
            },
            "title": "Transaction Ids",
            "type": "array"
          },
          "created_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "updated_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "internal_id": {
            "title": "Internal Id",
            "type": "integer"
          },
          "number": {
            "title": "Number",
            "type": "integer"
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "company_name": {
            "title": "Company Name",
            "type": "string"
          },
          "company_currency": {
            "title": "Company Currency",
            "type": "string"
          },
          "customer_id": {
            "title": "Customer Id",
            "type": "integer"
          },
          "customer_name": {
            "title": "Customer Name",
            "type": "string"
          },
          "customer_prepayment_number": {
            "title": "Customer Prepayment Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "customer_credit_number": {
            "title": "Customer Credit Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "exchange_rate": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
            "title": "Exchange Rate",
            "type": "string"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "date": {
            "description": "Posting date (GL date) - the date when the transaction is recorded in the general ledger",
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "description": "Transaction date (inception date) - the date when the transaction actually occurred",
            "format": "date",
            "title": "Transaction Date",
            "type": "string"
          },
          "amount": {
            "description": "Total transaction amount",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Amount",
            "type": "string"
          },
          "record_status": {
            "$ref": "#/components/schemas/RecordStatus"
          },
          "created_at": {
            "description": "Date and time the record was created",
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "updated_at": {
            "description": "Date and time the record was last updated",
            "format": "date-time",
            "title": "Updated At",
            "type": "string"
          }
        },
        "required": [
          "transaction_ids",
          "internal_id",
          "number",
          "company_id",
          "company_name",
          "company_currency",
          "customer_id",
          "customer_name",
          "customer_prepayment_number",
          "customer_credit_number",
          "currency_iso_4217_code",
          "exchange_rate",
          "memo",
          "date",
          "transaction_date",
          "amount",
          "record_status",
          "created_at",
          "updated_at"
        ],
        "title": "PublicCustomerPrepaymentApplicationV2ListSchemaOut",
        "type": "object"
      },
      "PublicCustomerPrepaymentApplicationItemOut": {
        "properties": {
          "invoice_number": {
            "title": "Invoice Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "amount": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Amount",
            "type": "string"
          },
          "amount_due": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Amount Due",
            "type": "string"
          },
          "position": {
            "title": "Position",
            "type": "integer"
          }
        },
        "required": [
          "amount",
          "amount_due",
          "position"
        ],
        "title": "PublicCustomerPrepaymentApplicationItemOut",
        "type": "object"
      },
      "PublicCustomerPrepaymentApplicationV2SchemaOut": {
        "properties": {
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicAttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "classifications": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicRecordClassificationsSchemaOut"
            },
            "title": "Classifications",
            "type": "array"
          },
          "transaction_ids": {
            "items": {
              "type": "integer"
            },
            "title": "Transaction Ids",
            "type": "array"
          },
          "created_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "updated_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "internal_id": {
            "title": "Internal Id",
            "type": "integer"
          },
          "number": {
            "title": "Number",
            "type": "integer"
          },
          "items": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicCustomerPrepaymentApplicationItemOut"
            },
            "title": "Items",
            "type": "array"
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "company_name": {
            "title": "Company Name",
            "type": "string"
          },
          "company_currency": {
            "title": "Company Currency",
            "type": "string"
          },
          "customer_id": {
            "title": "Customer Id",
            "type": "integer"
          },
          "customer_name": {
            "title": "Customer Name",
            "type": "string"
          },
          "customer_prepayment_number": {
            "title": "Customer Prepayment Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "customer_credit_number": {
            "title": "Customer Credit Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "exchange_rate": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
            "title": "Exchange Rate",
            "type": "string"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "date": {
            "description": "Posting date (GL date) - the date when the transaction is recorded in the general ledger",
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "description": "Transaction date (inception date) - the date when the transaction actually occurred",
            "format": "date",
            "title": "Transaction Date",
            "type": "string"
          },
          "amount": {
            "description": "Total transaction amount",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Amount",
            "type": "string"
          },
          "record_status": {
            "$ref": "#/components/schemas/RecordStatus"
          },
          "has_more_lines": {
            "default": false,
            "title": "Has More Lines",
            "type": "boolean"
          },
          "lines_count": {
            "default": 0,
            "title": "Lines Count",
            "type": "integer"
          },
          "created_at": {
            "description": "Date and time the record was created",
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "updated_at": {
            "description": "Date and time the record was last updated",
            "format": "date-time",
            "title": "Updated At",
            "type": "string"
          }
        },
        "required": [
          "transaction_ids",
          "internal_id",
          "number",
          "company_id",
          "company_name",
          "company_currency",
          "customer_id",
          "customer_name",
          "customer_prepayment_number",
          "customer_credit_number",
          "currency_iso_4217_code",
          "exchange_rate",
          "memo",
          "date",
          "transaction_date",
          "amount",
          "record_status",
          "created_at",
          "updated_at"
        ],
        "title": "PublicCustomerPrepaymentApplicationV2SchemaOut",
        "type": "object"
      },
      "PublicCustomerPrepaymentApplicationItemIn": {
        "properties": {
          "id": {
            "title": "Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "invoice_number": {
            "title": "Invoice Number",
            "type": "integer"
          },
          "amount": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
                "type": "string"
              }
            ],
            "title": "Amount"
          },
          "position": {
            "title": "Position",
            "type": "integer"
          }
        },
        "required": [
          "invoice_number",
          "amount",
          "position"
        ],
        "title": "PublicCustomerPrepaymentApplicationItemIn",
        "type": "object"
      },
      "PublicCustomerPrepaymentApplicationSchemaCreateIn": {
        "properties": {
          "custom_fields": {
            "title": "Custom Fields",
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "title": "Transaction Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "customer_prepayment_number": {
            "title": "Customer Prepayment Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "customer_credit_number": {
            "title": "Customer Credit Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "exchange_rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
                "type": "string"
              }
            ],
            "title": "Exchange Rate"
          },
          "memo": {
            "default": "",
            "title": "Memo",
            "type": "string"
          },
          "items": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicCustomerPrepaymentApplicationItemIn"
            },
            "title": "Items",
            "type": "array"
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/AttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "record_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RecordStatus"
              }
            ],
            "default": "posted"
          }
        },
        "required": [
          "date",
          "company_id",
          "currency_iso_4217_code",
          "exchange_rate"
        ],
        "title": "PublicCustomerPrepaymentApplicationSchemaCreateIn",
        "type": "object"
      },
      "PublicCustomerPrepaymentApplicationSchemaUpdateIn": {
        "properties": {
          "custom_fields": {
            "title": "Custom Fields",
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "title": "Transaction Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "customer_prepayment_number": {
            "title": "Customer Prepayment Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "customer_credit_number": {
            "title": "Customer Credit Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "exchange_rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
                "type": "string"
              }
            ],
            "title": "Exchange Rate"
          },
          "memo": {
            "default": "",
            "title": "Memo",
            "type": "string"
          },
          "items": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicCustomerPrepaymentApplicationItemIn"
            },
            "title": "Items",
            "type": "array"
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/AttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "record_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RecordStatus"
              }
            ],
            "default": "posted"
          }
        },
        "required": [
          "date",
          "company_id",
          "currency_iso_4217_code",
          "exchange_rate"
        ],
        "title": "PublicCustomerPrepaymentApplicationSchemaUpdateIn",
        "type": "object"
      },
      "PagedPublicCustomerPrepaymentApplicationItemOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicCustomerPrepaymentApplicationItemOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicCustomerPrepaymentApplicationItemOut",
        "type": "object"
      },
      "PublicCustomerDepositV2ListFilterSchema": {
        "properties": {
          "search": {
            "title": "Search",
            "type": [
              "string",
              "null"
            ]
          },
          "company_id": {
            "q": "company_id__in",
            "title": "Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "number": {
            "q": "number__in",
            "title": "Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "customer_id": {
            "q": "customer_deposit_lines__customer_id__in",
            "title": "Customer Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "start_date": {
            "q": "transaction__date__gte",
            "title": "Start Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "end_date": {
            "q": "transaction__date__lte",
            "title": "End Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "transaction_currency": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              {
                "type": "null"
              }
            ],
            "q": "transaction__currency_iso_4217_code"
          },
          "record_status": {
            "q": "transaction__record_status__in",
            "title": "Record Status",
            "items": {
              "$ref": "#/components/schemas/RecordStatus"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "updated_after": {
            "q": "updated_at__gte",
            "title": "Updated After",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_before": {
            "q": "updated_at__lte",
            "title": "Updated Before",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "title": "PublicCustomerDepositV2ListFilterSchema",
        "type": "object"
      },
      "PagedPublicCustomerDepositV2ListSchemaOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicCustomerDepositV2ListSchemaOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicCustomerDepositV2ListSchemaOut",
        "type": "object"
      },
      "PublicCustomerDepositV2ListSchemaOut": {
        "properties": {
          "custom_fields": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/CustomFieldValuePairOutputSchema"
            },
            "title": "Custom Fields",
            "type": "array"
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicAttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "created_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "updated_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "internal_id": {
            "title": "Internal Id",
            "type": "integer"
          },
          "number": {
            "title": "Number",
            "type": "integer"
          },
          "transaction_id": {
            "title": "Transaction Id",
            "type": "integer"
          },
          "date": {
            "description": "Posting date (GL date) - the date when the transaction is recorded in the general ledger",
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "description": "Transaction date (inception date) - the date when the transaction actually occurred",
            "format": "date",
            "title": "Transaction Date",
            "type": "string"
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "company_name": {
            "title": "Company Name",
            "type": "string"
          },
          "company_currency": {
            "title": "Company Currency",
            "type": "string"
          },
          "account_id": {
            "title": "Account Id",
            "type": "integer"
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "exchange_rate": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
            "title": "Exchange Rate",
            "type": "string"
          },
          "amount": {
            "description": "Total transaction amount",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Amount",
            "type": "string"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "record_status": {
            "$ref": "#/components/schemas/RecordStatus"
          },
          "created_at": {
            "description": "Date and time the record was created",
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "updated_at": {
            "description": "Date and time the record was last updated",
            "format": "date-time",
            "title": "Updated At",
            "type": "string"
          }
        },
        "required": [
          "internal_id",
          "number",
          "transaction_id",
          "date",
          "transaction_date",
          "company_id",
          "company_name",
          "company_currency",
          "account_id",
          "currency_iso_4217_code",
          "exchange_rate",
          "amount",
          "memo",
          "record_status",
          "created_at",
          "updated_at"
        ],
        "title": "PublicCustomerDepositV2ListSchemaOut",
        "type": "object"
      },
      "PublicCustomerDepositItemOut": {
        "properties": {
          "classifications": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicRecordClassificationsSchemaOut"
            },
            "title": "Classifications",
            "type": "array"
          },
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "customer_prepayment_number": {
            "title": "Customer Prepayment Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "customer_payment_number": {
            "title": "Customer Payment Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "cash_sale_number": {
            "title": "Cash Sale Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "vendor_refund_number": {
            "title": "Vendor Refund Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "account_id": {
            "title": "Account Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "description": {
            "title": "Description",
            "type": [
              "string",
              "null"
            ]
          },
          "customer_id": {
            "title": "Customer Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "vendor_id": {
            "title": "Vendor Id",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "customer_prepayment_number",
          "customer_payment_number",
          "cash_sale_number",
          "vendor_refund_number",
          "account_id",
          "description",
          "customer_id",
          "vendor_id"
        ],
        "title": "PublicCustomerDepositItemOut",
        "type": "object"
      },
      "PublicCustomerDepositV2SchemaOut": {
        "properties": {
          "custom_fields": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/CustomFieldValuePairOutputSchema"
            },
            "title": "Custom Fields",
            "type": "array"
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicAttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "created_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "updated_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "internal_id": {
            "title": "Internal Id",
            "type": "integer"
          },
          "number": {
            "title": "Number",
            "type": "integer"
          },
          "transaction_id": {
            "title": "Transaction Id",
            "type": "integer"
          },
          "date": {
            "description": "Posting date (GL date) - the date when the transaction is recorded in the general ledger",
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "description": "Transaction date (inception date) - the date when the transaction actually occurred",
            "format": "date",
            "title": "Transaction Date",
            "type": "string"
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "company_name": {
            "title": "Company Name",
            "type": "string"
          },
          "company_currency": {
            "title": "Company Currency",
            "type": "string"
          },
          "account_id": {
            "title": "Account Id",
            "type": "integer"
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "exchange_rate": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
            "title": "Exchange Rate",
            "type": "string"
          },
          "amount": {
            "description": "Total transaction amount",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Amount",
            "type": "string"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "items": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicCustomerDepositItemOut"
            },
            "title": "Items",
            "type": "array"
          },
          "record_status": {
            "$ref": "#/components/schemas/RecordStatus"
          },
          "has_more_lines": {
            "default": false,
            "title": "Has More Lines",
            "type": "boolean"
          },
          "lines_count": {
            "default": 0,
            "title": "Lines Count",
            "type": "integer"
          },
          "created_at": {
            "description": "Date and time the record was created",
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "updated_at": {
            "description": "Date and time the record was last updated",
            "format": "date-time",
            "title": "Updated At",
            "type": "string"
          }
        },
        "required": [
          "internal_id",
          "number",
          "transaction_id",
          "date",
          "transaction_date",
          "company_id",
          "company_name",
          "company_currency",
          "account_id",
          "currency_iso_4217_code",
          "exchange_rate",
          "amount",
          "memo",
          "record_status",
          "created_at",
          "updated_at"
        ],
        "title": "PublicCustomerDepositV2SchemaOut",
        "type": "object"
      },
      "PublicCustomerDepositItemIn": {
        "description": "Input schema for Customer Deposit line items in Public API.\n\nItems can reference:\n- A deposit source (cash_sale_number, customer_payment_number, customer_prepayment_number, vendor_refund_number)\n- OR account-based entry with account_number, customer_id, vendor_id, description",
        "properties": {
          "id": {
            "title": "Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "position": {
            "title": "Position",
            "type": "integer"
          },
          "cash_sale_number": {
            "title": "Cash Sale Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "customer_payment_number": {
            "title": "Customer Payment Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "customer_prepayment_number": {
            "title": "Customer Prepayment Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "vendor_refund_number": {
            "title": "Vendor Refund Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "account_number": {
            "title": "Account Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "customer_id": {
            "title": "Customer Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "vendor_id": {
            "title": "Vendor Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "description": {
            "default": "",
            "title": "Description",
            "type": [
              "string",
              "null"
            ]
          },
          "amount": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
                "type": "string"
              }
            ],
            "title": "Amount"
          }
        },
        "required": [
          "position",
          "amount"
        ],
        "title": "PublicCustomerDepositItemIn",
        "type": "object"
      },
      "PublicCustomerDepositSchemaCreateIn": {
        "description": "Input schema for creating Customer Deposits via Public API.",
        "properties": {
          "custom_fields": {
            "title": "Custom Fields",
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "title": "Transaction Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "account_number": {
            "title": "Account Number",
            "type": "integer"
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "exchange_rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
                "type": "string"
              }
            ],
            "title": "Exchange Rate"
          },
          "memo": {
            "default": "",
            "title": "Memo",
            "type": "string"
          },
          "check_number": {
            "default": "",
            "title": "Check Number",
            "type": "string"
          },
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicCustomerDepositItemIn"
            },
            "title": "Items",
            "type": "array"
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/AttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "record_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RecordStatus"
              }
            ],
            "default": "posted"
          }
        },
        "required": [
          "date",
          "company_id",
          "account_number",
          "currency_iso_4217_code",
          "exchange_rate",
          "items"
        ],
        "title": "PublicCustomerDepositSchemaCreateIn",
        "type": "object"
      },
      "PublicCustomerDepositSchemaUpdateIn": {
        "description": "Input schema for updating Customer Deposits via Public API.",
        "properties": {
          "custom_fields": {
            "title": "Custom Fields",
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "title": "Transaction Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "account_number": {
            "title": "Account Number",
            "type": "integer"
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "exchange_rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
                "type": "string"
              }
            ],
            "title": "Exchange Rate"
          },
          "memo": {
            "default": "",
            "title": "Memo",
            "type": "string"
          },
          "check_number": {
            "default": "",
            "title": "Check Number",
            "type": "string"
          },
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicCustomerDepositItemIn"
            },
            "title": "Items",
            "type": "array"
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/AttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "record_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RecordStatus"
              }
            ],
            "default": "posted"
          }
        },
        "required": [
          "date",
          "company_id",
          "account_number",
          "currency_iso_4217_code",
          "exchange_rate",
          "items"
        ],
        "title": "PublicCustomerDepositSchemaUpdateIn",
        "type": "object"
      },
      "PagedPublicCustomerDepositItemOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicCustomerDepositItemOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicCustomerDepositItemOut",
        "type": "object"
      },
      "PublicCustomerRefundListFilterSchema": {
        "properties": {
          "search": {
            "title": "Search",
            "type": [
              "string",
              "null"
            ]
          },
          "company_id": {
            "q": "company_id__in",
            "title": "Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "number": {
            "q": "number__in",
            "title": "Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "customer_id": {
            "q": "customer_id__in",
            "title": "Customer Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "start_date": {
            "q": "transaction__date__gte",
            "title": "Start Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "end_date": {
            "q": "transaction__date__lte",
            "title": "End Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "transaction_currency": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              {
                "type": "null"
              }
            ],
            "q": "transaction__currency_iso_4217_code"
          },
          "record_status": {
            "q": "transaction__record_status__in",
            "title": "Record Status",
            "items": {
              "$ref": "#/components/schemas/RecordStatus"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "updated_after": {
            "q": "updated_at__gte",
            "title": "Updated After",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_before": {
            "q": "updated_at__lte",
            "title": "Updated Before",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "title": "PublicCustomerRefundListFilterSchema",
        "type": "object"
      },
      "PagedPublicCustomerRefundSchemaOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicCustomerRefundSchemaOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicCustomerRefundSchemaOut",
        "type": "object"
      },
      "PublicCustomerRefundItemOut": {
        "properties": {
          "customer_credit_number": {
            "title": "Customer Credit Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "customer_prepayment_number": {
            "title": "Customer Prepayment Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "amount": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Amount",
            "type": "string"
          },
          "position": {
            "title": "Position",
            "type": "integer"
          },
          "bank_or_credit_card_amount": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Bank Or Credit Card Amount",
            "type": "string"
          }
        },
        "required": [
          "amount",
          "position",
          "bank_or_credit_card_amount"
        ],
        "title": "PublicCustomerRefundItemOut",
        "type": "object"
      },
      "PublicCustomerRefundSchemaOut": {
        "properties": {
          "custom_fields": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/CustomFieldValuePairOutputSchema"
            },
            "title": "Custom Fields",
            "type": "array"
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicAttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "classifications": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicRecordClassificationsSchemaOut"
            },
            "title": "Classifications",
            "type": "array"
          },
          "transaction_ids": {
            "items": {
              "type": "integer"
            },
            "title": "Transaction Ids",
            "type": "array"
          },
          "created_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "updated_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "internal_id": {
            "title": "Internal Id",
            "type": "integer"
          },
          "number": {
            "title": "Number",
            "type": "integer"
          },
          "account_number": {
            "title": "Account Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicCustomerRefundItemOut"
            },
            "title": "Items",
            "type": "array"
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "company_name": {
            "title": "Company Name",
            "type": "string"
          },
          "company_currency": {
            "title": "Company Currency",
            "type": "string"
          },
          "customer_id": {
            "title": "Customer Id",
            "type": "integer"
          },
          "customer_name": {
            "title": "Customer Name",
            "type": "string"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "check_number": {
            "title": "Check Number",
            "type": "string"
          },
          "date": {
            "description": "Posting date (GL date) - the date when the transaction is recorded in the general ledger",
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "description": "Transaction date (inception date) - the date when the transaction actually occurred",
            "format": "date",
            "title": "Transaction Date",
            "type": "string"
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "exchange_rate": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
            "title": "Exchange Rate",
            "type": "string"
          },
          "bank_or_credit_card_amount": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Bank Or Credit Card Amount",
            "type": "string"
          },
          "amount": {
            "description": "Total transaction amount",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Amount",
            "type": "string"
          },
          "record_status": {
            "$ref": "#/components/schemas/core__models__base__RecordStatus"
          },
          "payment_method_id": {
            "title": "Payment Method Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "paper_check_status": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/core__models__paper_check__PaperCheck__RecordStatus"
              },
              {
                "type": "null"
              }
            ]
          },
          "created_at": {
            "description": "Date and time the record was created",
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "updated_at": {
            "description": "Date and time the record was last updated",
            "format": "date-time",
            "title": "Updated At",
            "type": "string"
          }
        },
        "required": [
          "transaction_ids",
          "internal_id",
          "number",
          "account_number",
          "items",
          "company_id",
          "company_name",
          "company_currency",
          "customer_id",
          "customer_name",
          "memo",
          "check_number",
          "date",
          "transaction_date",
          "currency_iso_4217_code",
          "exchange_rate",
          "bank_or_credit_card_amount",
          "amount",
          "record_status",
          "paper_check_status",
          "created_at",
          "updated_at"
        ],
        "title": "PublicCustomerRefundSchemaOut",
        "type": "object"
      },
      "core__models__base__RecordStatus": {
        "enum": [
          "draft",
          "posted",
          "archived"
        ],
        "title": "RecordStatus",
        "type": "string"
      },
      "core__models__paper_check__PaperCheck__RecordStatus": {
        "enum": [
          "printed",
          "not_printed",
          "archived"
        ],
        "title": "RecordStatus",
        "type": "string"
      },
      "PublicCustomerRefundItemIn": {
        "properties": {
          "id": {
            "title": "Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "customer_credit_number": {
            "title": "Customer Credit Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "customer_prepayment_number": {
            "title": "Customer Prepayment Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "amount": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
                "type": "string"
              }
            ],
            "title": "Amount"
          },
          "position": {
            "title": "Position",
            "type": "integer"
          }
        },
        "required": [
          "amount",
          "position"
        ],
        "title": "PublicCustomerRefundItemIn",
        "type": "object"
      },
      "PublicCustomerRefundSchemaCreateIn": {
        "properties": {
          "custom_fields": {
            "title": "Custom Fields",
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "title": "Transaction Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "customer_id": {
            "title": "Customer Id",
            "type": "integer"
          },
          "check_number": {
            "default": "",
            "title": "Check Number",
            "type": "string"
          },
          "account_number": {
            "title": "Account Number",
            "type": "integer"
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "exchange_rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
                "type": "string"
              }
            ],
            "title": "Exchange Rate"
          },
          "memo": {
            "default": "",
            "title": "Memo",
            "type": "string"
          },
          "items": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicCustomerRefundItemIn"
            },
            "title": "Items",
            "type": "array"
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/AttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "bank_or_credit_card_amount": {
            "anyOf": [
              {
                "minimum": 0,
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
                "type": "string"
              }
            ],
            "default": "0.00",
            "description": "Bank or credit card amount",
            "title": "Bank Or Credit Card Amount"
          },
          "payment_method_id": {
            "title": "Payment Method Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "record_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RecordStatus"
              }
            ],
            "default": "posted"
          }
        },
        "required": [
          "date",
          "company_id",
          "customer_id",
          "account_number",
          "currency_iso_4217_code",
          "exchange_rate"
        ],
        "title": "PublicCustomerRefundSchemaCreateIn",
        "type": "object"
      },
      "PublicCustomerRefundSchemaUpdateIn": {
        "properties": {
          "custom_fields": {
            "title": "Custom Fields",
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "title": "Transaction Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "customer_id": {
            "title": "Customer Id",
            "type": "integer"
          },
          "check_number": {
            "default": "",
            "title": "Check Number",
            "type": "string"
          },
          "account_number": {
            "title": "Account Number",
            "type": "integer"
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "exchange_rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
                "type": "string"
              }
            ],
            "title": "Exchange Rate"
          },
          "memo": {
            "default": "",
            "title": "Memo",
            "type": "string"
          },
          "items": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicCustomerRefundItemIn"
            },
            "title": "Items",
            "type": "array"
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/AttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "bank_or_credit_card_amount": {
            "anyOf": [
              {
                "minimum": 0,
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
                "type": "string"
              }
            ],
            "default": "0.00",
            "description": "Bank or credit card amount",
            "title": "Bank Or Credit Card Amount"
          },
          "payment_method_id": {
            "title": "Payment Method Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "record_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RecordStatus"
              }
            ],
            "default": "posted"
          }
        },
        "required": [
          "date",
          "company_id",
          "customer_id",
          "account_number",
          "currency_iso_4217_code",
          "exchange_rate"
        ],
        "title": "PublicCustomerRefundSchemaUpdateIn",
        "type": "object"
      },
      "PublicCustomerCreditV2ListFilterSchema": {
        "properties": {
          "search": {
            "title": "Search",
            "type": [
              "string",
              "null"
            ]
          },
          "company_id": {
            "q": "company_id__in",
            "title": "Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "number": {
            "q": "number__in",
            "title": "Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "customer_id": {
            "q": "customer_id__in",
            "title": "Customer Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "start_date": {
            "q": "transaction__date__gte",
            "title": "Start Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "end_date": {
            "q": "transaction__date__lte",
            "title": "End Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "transaction_currency": {
            "q": "transaction__currency_iso_4217_code__in",
            "title": "Transaction Currency",
            "items": {
              "$ref": "#/components/schemas/SystemCurrencies"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "record_status": {
            "q": "transaction__record_status__in",
            "title": "Record Status",
            "items": {
              "$ref": "#/components/schemas/RecordStatus"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "updated_after": {
            "q": "updated_at__gte",
            "title": "Updated After",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_before": {
            "q": "updated_at__lte",
            "title": "Updated Before",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "title": "PublicCustomerCreditV2ListFilterSchema",
        "type": "object"
      },
      "ExternalIntegrationSourceOut": {
        "properties": {
          "integration_type": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/IntegrationProviderType"
              },
              {
                "$ref": "#/components/schemas/MigrationProviderType"
              },
              {
                "type": "string"
              }
            ],
            "title": "Integration Type"
          },
          "external_integration_url": {
            "title": "External Integration Url",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "integration_type",
          "external_integration_url"
        ],
        "title": "ExternalIntegrationSourceOut",
        "type": "object"
      },
      "IntegrationProviderSchemaOut": {
        "properties": {
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "integration_type": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/IntegrationProviderType"
              },
              {
                "type": "string"
              }
            ],
            "title": "Integration Type"
          },
          "logo_url": {
            "title": "Logo Url",
            "type": [
              "string",
              "null"
            ]
          },
          "website": {
            "title": "Website",
            "type": [
              "string",
              "null"
            ]
          },
          "description": {
            "title": "Description",
            "type": [
              "string",
              "null"
            ]
          },
          "category": {
            "title": "Category",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "name",
          "integration_type"
        ],
        "title": "IntegrationProviderSchemaOut",
        "type": "object"
      },
      "IntegrationProviderType": {
        "enum": [
          "bill_com",
          "ramp",
          "zoho",
          "fivetran",
          "stripe",
          "finch",
          "hubspot",
          "brex",
          "cubby",
          "avalara",
          "deel",
          "tax1099",
          "sitelink",
          "postgresql",
          "qlik",
          "power_bi",
          "snowflake",
          "avidxchange",
          "concur",
          "salesforce",
          "hmrc",
          "rippling"
        ],
        "title": "IntegrationProviderType",
        "type": "string"
      },
      "IntegrationRemoteRecordSchemaOut": {
        "properties": {
          "transactional_date": {
            "title": "Transactional Date",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "external_source": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ExternalIntegrationSourceOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "source_id": {
            "title": "Source Id",
            "type": "string"
          },
          "connection_id": {
            "title": "Connection Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "integration_id": {
            "title": "Integration Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "integration_provider": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/IntegrationProviderSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "url": {
            "title": "Url",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "source_id"
        ],
        "title": "IntegrationRemoteRecordSchemaOut",
        "type": "object"
      },
      "MigrationProviderType": {
        "enum": [
          "quickbooks",
          "xero",
          "stripe"
        ],
        "title": "MigrationProviderType",
        "type": "string"
      },
      "PagedPublicCustomerCreditV2ListSchemaOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicCustomerCreditV2ListSchemaOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicCustomerCreditV2ListSchemaOut",
        "type": "object"
      },
      "PublicCustomerCreditV2ListSchemaOut": {
        "properties": {
          "bill_to_address": {
            "deprecated": true,
            "description": "Deprecated: send the structured billing_address / shipping_address instead.",
            "title": "Bill To Address",
            "type": "string"
          },
          "ship_to_address": {
            "deprecated": true,
            "description": "Deprecated: send the structured billing_address / shipping_address instead.",
            "title": "Ship To Address",
            "type": "string"
          },
          "billing_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "shipping_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "customer_id": {
            "title": "Customer Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "customer_name": {
            "title": "Customer Name",
            "type": [
              "string",
              "null"
            ]
          },
          "transaction_ids": {
            "items": {
              "type": "integer"
            },
            "title": "Transaction Ids",
            "type": "array"
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicAttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "custom_fields": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/CustomFieldValuePairOutputSchema"
            },
            "title": "Custom Fields",
            "type": "array"
          },
          "integration_remote_records": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/IntegrationRemoteRecordSchemaOut"
            },
            "title": "Integration Remote Records",
            "type": "array"
          },
          "created_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "updated_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "internal_id": {
            "title": "Internal Id",
            "type": "integer"
          },
          "number": {
            "title": "Number",
            "type": "integer"
          },
          "invoice_number": {
            "title": "Invoice Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "cash_sale_number": {
            "title": "Cash Sale Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "date": {
            "description": "Posting date (GL date) - the date when the transaction is recorded in the general ledger",
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "description": "Transaction date (inception date) - the date when the transaction actually occurred",
            "format": "date",
            "title": "Transaction Date",
            "type": "string"
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "company_name": {
            "title": "Company Name",
            "type": "string"
          },
          "company_currency": {
            "title": "Company Currency",
            "type": "string"
          },
          "currency_iso_4217_code": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              {
                "type": "null"
              }
            ]
          },
          "exchange_rate": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
            "title": "Exchange Rate",
            "type": "string"
          },
          "amount": {
            "description": "Total transaction amount",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Amount",
            "type": "string"
          },
          "used_amount": {
            "description": "Amount that was already applied to Invoices through Customer Refunds or Customer Prepayment Applications",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Used Amount",
            "type": "string"
          },
          "remaining_amount": {
            "description": "Amount that can be applied to Invoices through Customer Refunds or Customer Prepayment Applications",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Remaining Amount",
            "type": "string"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "record_status": {
            "$ref": "#/components/schemas/RecordStatus"
          },
          "contract_id": {
            "title": "Contract Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "contracted": {
            "default": false,
            "title": "Contracted",
            "type": "boolean"
          },
          "created_at": {
            "description": "Date and time the record was created",
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "updated_at": {
            "description": "Date and time the record was last updated",
            "format": "date-time",
            "title": "Updated At",
            "type": "string"
          }
        },
        "required": [
          "bill_to_address",
          "ship_to_address",
          "transaction_ids",
          "internal_id",
          "number",
          "invoice_number",
          "cash_sale_number",
          "date",
          "transaction_date",
          "company_id",
          "company_name",
          "company_currency",
          "currency_iso_4217_code",
          "exchange_rate",
          "amount",
          "used_amount",
          "remaining_amount",
          "memo",
          "record_status",
          "created_at",
          "updated_at"
        ],
        "title": "PublicCustomerCreditV2ListSchemaOut",
        "type": "object"
      },
      "PublicCustomerCreditItemOut": {
        "properties": {
          "classifications": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicRecordClassificationsSchemaOut"
            },
            "title": "Classifications",
            "type": "array"
          },
          "item_type": {
            "title": "Item Type",
            "type": [
              "string",
              "null"
            ]
          },
          "hsn_sac_code": {
            "title": "Hsn Sac Code",
            "type": [
              "string",
              "null"
            ]
          },
          "tax": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ItemTaxDataOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "item_id": {
            "title": "Item Id",
            "type": "integer"
          },
          "quantity": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
            "title": "Quantity",
            "type": "string"
          },
          "rate": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
            "title": "Rate",
            "type": "string"
          },
          "position": {
            "title": "Position",
            "type": "integer"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "net_amount": {
            "description": "Net amount before tax",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "readOnly": true,
            "title": "Net Amount",
            "type": "string"
          },
          "tax_amount": {
            "description": "Calculated tax amount",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "readOnly": true,
            "title": "Tax Amount",
            "type": "string"
          },
          "gross_amount": {
            "description": "Calculated total amount including tax",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "readOnly": true,
            "title": "Gross Amount",
            "type": "string"
          },
          "amount": {
            "description": "Calculated total amount including tax named amount for backward compatibility",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "readOnly": true,
            "title": "Amount",
            "type": "string"
          }
        },
        "required": [
          "item_id",
          "quantity",
          "rate",
          "position",
          "memo",
          "net_amount",
          "tax_amount",
          "gross_amount",
          "amount"
        ],
        "title": "PublicCustomerCreditItemOut",
        "type": "object"
      },
      "PublicCustomerCreditV2SchemaOut": {
        "properties": {
          "bill_to_address": {
            "deprecated": true,
            "description": "Deprecated: send the structured billing_address / shipping_address instead.",
            "title": "Bill To Address",
            "type": "string"
          },
          "ship_to_address": {
            "deprecated": true,
            "description": "Deprecated: send the structured billing_address / shipping_address instead.",
            "title": "Ship To Address",
            "type": "string"
          },
          "billing_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "shipping_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "customer_id": {
            "title": "Customer Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "customer_name": {
            "title": "Customer Name",
            "type": [
              "string",
              "null"
            ]
          },
          "transaction_ids": {
            "items": {
              "type": "integer"
            },
            "title": "Transaction Ids",
            "type": "array"
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicAttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "custom_fields": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/CustomFieldValuePairOutputSchema"
            },
            "title": "Custom Fields",
            "type": "array"
          },
          "integration_remote_records": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/IntegrationRemoteRecordSchemaOut"
            },
            "title": "Integration Remote Records",
            "type": "array"
          },
          "created_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "updated_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "internal_id": {
            "title": "Internal Id",
            "type": "integer"
          },
          "number": {
            "title": "Number",
            "type": "integer"
          },
          "invoice_number": {
            "title": "Invoice Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "cash_sale_number": {
            "title": "Cash Sale Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "date": {
            "description": "Posting date (GL date) - the date when the transaction is recorded in the general ledger",
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "description": "Transaction date (inception date) - the date when the transaction actually occurred",
            "format": "date",
            "title": "Transaction Date",
            "type": "string"
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "company_name": {
            "title": "Company Name",
            "type": "string"
          },
          "company_currency": {
            "title": "Company Currency",
            "type": "string"
          },
          "currency_iso_4217_code": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              {
                "type": "null"
              }
            ]
          },
          "exchange_rate": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
            "title": "Exchange Rate",
            "type": "string"
          },
          "amount": {
            "description": "Total transaction amount",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Amount",
            "type": "string"
          },
          "used_amount": {
            "description": "Amount that was already applied to Invoices through Customer Refunds or Customer Prepayment Applications",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Used Amount",
            "type": "string"
          },
          "remaining_amount": {
            "description": "Amount that can be applied to Invoices through Customer Refunds or Customer Prepayment Applications",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Remaining Amount",
            "type": "string"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "items": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicCustomerCreditItemOut"
            },
            "title": "Items",
            "type": "array"
          },
          "record_status": {
            "$ref": "#/components/schemas/RecordStatus"
          },
          "contract_id": {
            "title": "Contract Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "contracted": {
            "default": false,
            "title": "Contracted",
            "type": "boolean"
          },
          "has_more_lines": {
            "default": false,
            "title": "Has More Lines",
            "type": "boolean"
          },
          "lines_count": {
            "default": 0,
            "title": "Lines Count",
            "type": "integer"
          },
          "created_at": {
            "description": "Date and time the record was created",
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "updated_at": {
            "description": "Date and time the record was last updated",
            "format": "date-time",
            "title": "Updated At",
            "type": "string"
          }
        },
        "required": [
          "bill_to_address",
          "ship_to_address",
          "transaction_ids",
          "internal_id",
          "number",
          "invoice_number",
          "cash_sale_number",
          "date",
          "transaction_date",
          "company_id",
          "company_name",
          "company_currency",
          "currency_iso_4217_code",
          "exchange_rate",
          "amount",
          "used_amount",
          "remaining_amount",
          "memo",
          "record_status",
          "created_at",
          "updated_at"
        ],
        "title": "PublicCustomerCreditV2SchemaOut",
        "type": "object"
      },
      "PublicCustomerCreditItemIn": {
        "description": "Input schema for customer credit item lines.",
        "properties": {
          "tax": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ItemTaxData"
              },
              {
                "type": "null"
              }
            ]
          },
          "id": {
            "title": "Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "position": {
            "title": "Position",
            "type": "integer"
          },
          "item_id": {
            "title": "Item Id",
            "type": "integer"
          },
          "rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
                "type": "string"
              }
            ],
            "title": "Rate"
          },
          "quantity": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
                "type": "string"
              }
            ],
            "title": "Quantity"
          },
          "memo": {
            "default": "",
            "title": "Memo",
            "type": "string"
          },
          "classifications": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicRecordClassificationsSchemaOut"
            },
            "title": "Classifications",
            "type": "array"
          }
        },
        "required": [
          "position",
          "item_id",
          "rate",
          "quantity"
        ],
        "title": "PublicCustomerCreditItemIn",
        "type": "object"
      },
      "PublicCustomerCreditSchemaCreateIn": {
        "description": "Input schema for creating Customer Credit records.",
        "properties": {
          "bill_to_address": {
            "default": "",
            "deprecated": true,
            "description": "Deprecated: send the structured billing_address / shipping_address instead.",
            "title": "Bill To Address",
            "type": [
              "string",
              "null"
            ]
          },
          "ship_to_address": {
            "default": "",
            "deprecated": true,
            "description": "Deprecated: send the structured billing_address / shipping_address instead.",
            "title": "Ship To Address",
            "type": [
              "string",
              "null"
            ]
          },
          "billing_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaIn"
              },
              {
                "type": "null"
              }
            ]
          },
          "shipping_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaIn"
              },
              {
                "type": "null"
              }
            ]
          },
          "custom_fields": {
            "title": "Custom Fields",
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "title": "Transaction Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "invoice_number": {
            "title": "Invoice Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "cash_sale_number": {
            "title": "Cash Sale Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "customer_id": {
            "title": "Customer Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "memo": {
            "default": "",
            "title": "Memo",
            "type": "string"
          },
          "exchange_rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
                "type": "string"
              }
            ],
            "title": "Exchange Rate"
          },
          "items": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicCustomerCreditItemIn"
            },
            "title": "Items",
            "type": "array"
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/AttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "record_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RecordStatus"
              }
            ],
            "default": "posted"
          },
          "contract_id": {
            "title": "Contract Id",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "date",
          "company_id",
          "currency_iso_4217_code",
          "exchange_rate"
        ],
        "title": "PublicCustomerCreditSchemaCreateIn",
        "type": "object"
      },
      "PublicCustomerCreditSchemaUpdateIn": {
        "description": "Input schema for updating Customer Credit records.",
        "properties": {
          "bill_to_address": {
            "default": "",
            "deprecated": true,
            "description": "Deprecated: send the structured billing_address / shipping_address instead.",
            "title": "Bill To Address",
            "type": [
              "string",
              "null"
            ]
          },
          "ship_to_address": {
            "default": "",
            "deprecated": true,
            "description": "Deprecated: send the structured billing_address / shipping_address instead.",
            "title": "Ship To Address",
            "type": [
              "string",
              "null"
            ]
          },
          "billing_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaIn"
              },
              {
                "type": "null"
              }
            ]
          },
          "shipping_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaIn"
              },
              {
                "type": "null"
              }
            ]
          },
          "custom_fields": {
            "title": "Custom Fields",
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "title": "Transaction Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "invoice_number": {
            "title": "Invoice Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "cash_sale_number": {
            "title": "Cash Sale Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "customer_id": {
            "title": "Customer Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "memo": {
            "default": "",
            "title": "Memo",
            "type": "string"
          },
          "exchange_rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
                "type": "string"
              }
            ],
            "title": "Exchange Rate"
          },
          "items": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicCustomerCreditItemIn"
            },
            "title": "Items",
            "type": "array"
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/AttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "record_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RecordStatus"
              }
            ],
            "default": "posted"
          },
          "contract_id": {
            "title": "Contract Id",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "date",
          "company_id",
          "currency_iso_4217_code",
          "exchange_rate"
        ],
        "title": "PublicCustomerCreditSchemaUpdateIn",
        "type": "object"
      },
      "PagedPublicCustomerCreditItemOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicCustomerCreditItemOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicCustomerCreditItemOut",
        "type": "object"
      },
      "PublicCashSaleV2ListFilterSchema": {
        "properties": {
          "search": {
            "title": "Search",
            "type": [
              "string",
              "null"
            ]
          },
          "company_id": {
            "q": "company_id__in",
            "title": "Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "number": {
            "q": "number__in",
            "title": "Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "customer_id": {
            "q": "customer_id__in",
            "title": "Customer Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "start_date": {
            "q": "transaction__date__gte",
            "title": "Start Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "end_date": {
            "q": "transaction__date__lte",
            "title": "End Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "transaction_currency": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              {
                "type": "null"
              }
            ],
            "q": "transaction__currency_iso_4217_code"
          },
          "record_status": {
            "q": "transaction__record_status__in",
            "title": "Record Status",
            "items": {
              "$ref": "#/components/schemas/RecordStatus"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "updated_after": {
            "q": "updated_at__gte",
            "title": "Updated After",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_before": {
            "q": "updated_at__lte",
            "title": "Updated Before",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "title": "PublicCashSaleV2ListFilterSchema",
        "type": "object"
      },
      "PagedPublicCashSaleV2ListSchemaOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicCashSaleV2ListSchemaOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicCashSaleV2ListSchemaOut",
        "type": "object"
      },
      "PublicCashSaleV2ListSchemaOut": {
        "properties": {
          "bill_to_address": {
            "deprecated": true,
            "description": "Deprecated: send the structured billing_address / shipping_address instead.",
            "title": "Bill To Address",
            "type": "string"
          },
          "ship_to_address": {
            "deprecated": true,
            "description": "Deprecated: send the structured billing_address / shipping_address instead.",
            "title": "Ship To Address",
            "type": "string"
          },
          "billing_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "shipping_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "custom_fields": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/CustomFieldValuePairOutputSchema"
            },
            "title": "Custom Fields",
            "type": "array"
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicAttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "classifications": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicRecordClassificationsSchemaOut"
            },
            "title": "Classifications",
            "type": "array"
          },
          "transaction_ids": {
            "items": {
              "type": "integer"
            },
            "title": "Transaction Ids",
            "type": "array"
          },
          "bank_match_status": {
            "title": "Bank Match Status",
            "type": [
              "string",
              "null"
            ]
          },
          "reconciliation_status": {
            "title": "Reconciliation Status",
            "type": [
              "string",
              "null"
            ]
          },
          "created_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "updated_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "internal_id": {
            "title": "Internal Id",
            "type": "integer"
          },
          "number": {
            "title": "Number",
            "type": "integer"
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "company_name": {
            "title": "Company Name",
            "type": "string"
          },
          "company_currency": {
            "title": "Company Currency",
            "type": "string"
          },
          "customer_id": {
            "title": "Customer Id",
            "type": "integer"
          },
          "customer_name": {
            "title": "Customer Name",
            "type": "string"
          },
          "account_number": {
            "title": "Account Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "amount": {
            "description": "Total transaction amount",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Amount",
            "type": "string"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "check_number": {
            "title": "Check Number",
            "type": "string"
          },
          "date": {
            "description": "Posting date (GL date) - the date when the transaction is recorded in the general ledger",
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "description": "Transaction date (inception date) - the date when the transaction actually occurred",
            "format": "date",
            "title": "Transaction Date",
            "type": "string"
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "exchange_rate": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
            "title": "Exchange Rate",
            "type": "string"
          },
          "undeposited_funds_currency": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              {
                "type": "null"
              }
            ]
          },
          "bank_or_undeposited_account_amount": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Bank Or Undeposited Account Amount",
            "type": "string"
          },
          "payment_method_id": {
            "title": "Payment Method Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "record_status": {
            "$ref": "#/components/schemas/RecordStatus"
          },
          "created_at": {
            "description": "Date and time the record was created",
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "updated_at": {
            "description": "Date and time the record was last updated",
            "format": "date-time",
            "title": "Updated At",
            "type": "string"
          }
        },
        "required": [
          "bill_to_address",
          "ship_to_address",
          "transaction_ids",
          "internal_id",
          "number",
          "company_id",
          "company_name",
          "company_currency",
          "customer_id",
          "customer_name",
          "account_number",
          "amount",
          "memo",
          "check_number",
          "date",
          "transaction_date",
          "currency_iso_4217_code",
          "exchange_rate",
          "undeposited_funds_currency",
          "bank_or_undeposited_account_amount",
          "record_status",
          "created_at",
          "updated_at"
        ],
        "title": "PublicCashSaleV2ListSchemaOut",
        "type": "object"
      },
      "PublicCashSaleItemOut": {
        "properties": {
          "classifications": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicRecordClassificationsSchemaOut"
            },
            "title": "Classifications",
            "type": "array"
          },
          "item_type": {
            "title": "Item Type",
            "type": [
              "string",
              "null"
            ]
          },
          "hsn_sac_code": {
            "title": "Hsn Sac Code",
            "type": [
              "string",
              "null"
            ]
          },
          "tax": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ItemTaxDataOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "item_id": {
            "title": "Item Id",
            "type": "integer"
          },
          "quantity": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
            "title": "Quantity",
            "type": "string"
          },
          "rate": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
            "title": "Rate",
            "type": "string"
          },
          "position": {
            "title": "Position",
            "type": "integer"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "bank_or_undeposited_account_amount": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Bank Or Undeposited Account Amount",
            "type": "string"
          },
          "net_amount": {
            "description": "Net amount before tax",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "readOnly": true,
            "title": "Net Amount",
            "type": "string"
          },
          "tax_amount": {
            "description": "Calculated tax amount",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "readOnly": true,
            "title": "Tax Amount",
            "type": "string"
          },
          "gross_amount": {
            "description": "Calculated total amount including tax",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "readOnly": true,
            "title": "Gross Amount",
            "type": "string"
          },
          "amount": {
            "description": "Calculated total amount including tax named amount for backward compatibility",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "readOnly": true,
            "title": "Amount",
            "type": "string"
          }
        },
        "required": [
          "id",
          "item_id",
          "quantity",
          "rate",
          "position",
          "memo",
          "bank_or_undeposited_account_amount",
          "net_amount",
          "tax_amount",
          "gross_amount",
          "amount"
        ],
        "title": "PublicCashSaleItemOut",
        "type": "object"
      },
      "PublicCashSaleV2SchemaOut": {
        "properties": {
          "bill_to_address": {
            "deprecated": true,
            "description": "Deprecated: send the structured billing_address / shipping_address instead.",
            "title": "Bill To Address",
            "type": "string"
          },
          "ship_to_address": {
            "deprecated": true,
            "description": "Deprecated: send the structured billing_address / shipping_address instead.",
            "title": "Ship To Address",
            "type": "string"
          },
          "billing_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "shipping_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "custom_fields": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/CustomFieldValuePairOutputSchema"
            },
            "title": "Custom Fields",
            "type": "array"
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicAttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "classifications": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicRecordClassificationsSchemaOut"
            },
            "title": "Classifications",
            "type": "array"
          },
          "transaction_ids": {
            "items": {
              "type": "integer"
            },
            "title": "Transaction Ids",
            "type": "array"
          },
          "bank_match_status": {
            "title": "Bank Match Status",
            "type": [
              "string",
              "null"
            ]
          },
          "reconciliation_status": {
            "title": "Reconciliation Status",
            "type": [
              "string",
              "null"
            ]
          },
          "created_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "updated_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "internal_id": {
            "title": "Internal Id",
            "type": "integer"
          },
          "number": {
            "title": "Number",
            "type": "integer"
          },
          "items": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicCashSaleItemOut"
            },
            "title": "Items",
            "type": "array"
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "company_name": {
            "title": "Company Name",
            "type": "string"
          },
          "company_currency": {
            "title": "Company Currency",
            "type": "string"
          },
          "customer_id": {
            "title": "Customer Id",
            "type": "integer"
          },
          "customer_name": {
            "title": "Customer Name",
            "type": "string"
          },
          "account_number": {
            "title": "Account Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "amount": {
            "description": "Total transaction amount",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Amount",
            "type": "string"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "check_number": {
            "title": "Check Number",
            "type": "string"
          },
          "date": {
            "description": "Posting date (GL date) - the date when the transaction is recorded in the general ledger",
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "description": "Transaction date (inception date) - the date when the transaction actually occurred",
            "format": "date",
            "title": "Transaction Date",
            "type": "string"
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "exchange_rate": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
            "title": "Exchange Rate",
            "type": "string"
          },
          "undeposited_funds_currency": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              {
                "type": "null"
              }
            ]
          },
          "bank_or_undeposited_account_amount": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Bank Or Undeposited Account Amount",
            "type": "string"
          },
          "payment_method_id": {
            "title": "Payment Method Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "record_status": {
            "$ref": "#/components/schemas/RecordStatus"
          },
          "has_more_lines": {
            "default": false,
            "title": "Has More Lines",
            "type": "boolean"
          },
          "lines_count": {
            "default": 0,
            "title": "Lines Count",
            "type": "integer"
          },
          "created_at": {
            "description": "Date and time the record was created",
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "updated_at": {
            "description": "Date and time the record was last updated",
            "format": "date-time",
            "title": "Updated At",
            "type": "string"
          }
        },
        "required": [
          "bill_to_address",
          "ship_to_address",
          "transaction_ids",
          "internal_id",
          "number",
          "company_id",
          "company_name",
          "company_currency",
          "customer_id",
          "customer_name",
          "account_number",
          "amount",
          "memo",
          "check_number",
          "date",
          "transaction_date",
          "currency_iso_4217_code",
          "exchange_rate",
          "undeposited_funds_currency",
          "bank_or_undeposited_account_amount",
          "record_status",
          "created_at",
          "updated_at"
        ],
        "title": "PublicCashSaleV2SchemaOut",
        "type": "object"
      },
      "PublicCashSaleItemIn": {
        "properties": {
          "tax": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ItemTaxData"
              },
              {
                "type": "null"
              }
            ]
          },
          "id": {
            "title": "Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "item_id": {
            "title": "Item Id",
            "type": "integer"
          },
          "quantity": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
                "type": "string"
              }
            ],
            "title": "Quantity"
          },
          "rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
                "type": "string"
              }
            ],
            "title": "Rate"
          },
          "position": {
            "title": "Position",
            "type": "integer"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "classifications": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicRecordClassificationsSchemaOut"
            },
            "title": "Classifications",
            "type": "array"
          }
        },
        "required": [
          "item_id",
          "quantity",
          "rate",
          "position",
          "memo"
        ],
        "title": "PublicCashSaleItemIn",
        "type": "object"
      },
      "PublicCashSaleSchemaCreateIn": {
        "properties": {
          "bill_to_address": {
            "default": "",
            "deprecated": true,
            "description": "Deprecated: send the structured billing_address / shipping_address instead.",
            "title": "Bill To Address",
            "type": [
              "string",
              "null"
            ]
          },
          "ship_to_address": {
            "default": "",
            "deprecated": true,
            "description": "Deprecated: send the structured billing_address / shipping_address instead.",
            "title": "Ship To Address",
            "type": [
              "string",
              "null"
            ]
          },
          "billing_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaIn"
              },
              {
                "type": "null"
              }
            ]
          },
          "shipping_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaIn"
              },
              {
                "type": "null"
              }
            ]
          },
          "custom_fields": {
            "title": "Custom Fields",
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "title": "Transaction Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "items": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicCashSaleItemIn"
            },
            "title": "Items",
            "type": "array"
          },
          "memo": {
            "default": "",
            "title": "Memo",
            "type": "string"
          },
          "check_number": {
            "default": "",
            "title": "Check Number",
            "type": "string"
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "customer_id": {
            "title": "Customer Id",
            "type": "integer"
          },
          "account_number": {
            "title": "Account Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "exchange_rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
                "type": "string"
              }
            ],
            "title": "Exchange Rate"
          },
          "bank_or_undeposited_account_amount": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
                "type": "string"
              }
            ],
            "title": "Bank Or Undeposited Account Amount"
          },
          "undeposited_funds_currency": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              {
                "type": "null"
              }
            ]
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/AttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "payment_method_id": {
            "title": "Payment Method Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "record_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RecordStatus"
              }
            ],
            "default": "posted"
          }
        },
        "required": [
          "date",
          "company_id",
          "customer_id",
          "currency_iso_4217_code",
          "exchange_rate",
          "bank_or_undeposited_account_amount"
        ],
        "title": "PublicCashSaleSchemaCreateIn",
        "type": "object"
      },
      "PublicCashSaleSchemaUpdateIn": {
        "properties": {
          "bill_to_address": {
            "default": "",
            "deprecated": true,
            "description": "Deprecated: send the structured billing_address / shipping_address instead.",
            "title": "Bill To Address",
            "type": [
              "string",
              "null"
            ]
          },
          "ship_to_address": {
            "default": "",
            "deprecated": true,
            "description": "Deprecated: send the structured billing_address / shipping_address instead.",
            "title": "Ship To Address",
            "type": [
              "string",
              "null"
            ]
          },
          "billing_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaIn"
              },
              {
                "type": "null"
              }
            ]
          },
          "shipping_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaIn"
              },
              {
                "type": "null"
              }
            ]
          },
          "custom_fields": {
            "title": "Custom Fields",
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "title": "Transaction Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "items": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicCashSaleItemIn"
            },
            "title": "Items",
            "type": "array"
          },
          "memo": {
            "default": "",
            "title": "Memo",
            "type": "string"
          },
          "check_number": {
            "default": "",
            "title": "Check Number",
            "type": "string"
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "customer_id": {
            "title": "Customer Id",
            "type": "integer"
          },
          "account_number": {
            "title": "Account Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "exchange_rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
                "type": "string"
              }
            ],
            "title": "Exchange Rate"
          },
          "bank_or_undeposited_account_amount": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
                "type": "string"
              }
            ],
            "title": "Bank Or Undeposited Account Amount"
          },
          "undeposited_funds_currency": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              {
                "type": "null"
              }
            ]
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/AttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "payment_method_id": {
            "title": "Payment Method Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "record_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RecordStatus"
              }
            ],
            "default": "posted"
          }
        },
        "required": [
          "date",
          "company_id",
          "customer_id",
          "currency_iso_4217_code",
          "exchange_rate",
          "bank_or_undeposited_account_amount"
        ],
        "title": "PublicCashSaleSchemaUpdateIn",
        "type": "object"
      },
      "PagedPublicCashSaleItemOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicCashSaleItemOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicCashSaleItemOut",
        "type": "object"
      },
      "PublicCustomerPaymentV2ListFilterSchema": {
        "properties": {
          "search": {
            "title": "Search",
            "type": [
              "string",
              "null"
            ]
          },
          "company_id": {
            "q": "company_id__in",
            "title": "Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "number": {
            "q": "number__in",
            "title": "Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "customer_id": {
            "title": "Customer Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "start_date": {
            "q": "transaction__date__gte",
            "title": "Start Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "end_date": {
            "q": "transaction__date__lte",
            "title": "End Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "transaction_currency": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              {
                "type": "null"
              }
            ],
            "q": "transaction__currency_iso_4217_code"
          },
          "record_status": {
            "q": "transaction__record_status__in",
            "title": "Record Status",
            "items": {
              "$ref": "#/components/schemas/RecordStatus"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "invoice_number": {
            "q": "customer_payment_lines__invoice__number__in",
            "title": "Invoice Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "customer_credit_number": {
            "q": "customer_payment_lines__customer_credit__number__in",
            "title": "Customer Credit Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "updated_after": {
            "q": "updated_at__gte",
            "title": "Updated After",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_before": {
            "q": "updated_at__lte",
            "title": "Updated Before",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "title": "PublicCustomerPaymentV2ListFilterSchema",
        "type": "object"
      },
      "PagedPublicCustomerPaymentV2ListSchemaOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicCustomerPaymentV2ListSchemaOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicCustomerPaymentV2ListSchemaOut",
        "type": "object"
      },
      "PublicCustomerPaymentV2ListSchemaOut": {
        "properties": {
          "custom_fields": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/CustomFieldValuePairOutputSchema"
            },
            "title": "Custom Fields",
            "type": "array"
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicAttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "classifications": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicRecordClassificationsSchemaOut"
            },
            "title": "Classifications",
            "type": "array"
          },
          "transaction_ids": {
            "items": {
              "type": "integer"
            },
            "title": "Transaction Ids",
            "type": "array"
          },
          "bank_match_status": {
            "title": "Bank Match Status",
            "type": [
              "string",
              "null"
            ]
          },
          "reconciliation_status": {
            "title": "Reconciliation Status",
            "type": [
              "string",
              "null"
            ]
          },
          "created_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "updated_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "internal_id": {
            "title": "Internal Id",
            "type": "integer"
          },
          "number": {
            "title": "Number",
            "type": "integer"
          },
          "account_number": {
            "title": "Account Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "company_name": {
            "title": "Company Name",
            "type": "string"
          },
          "company_currency": {
            "title": "Company Currency",
            "type": "string"
          },
          "customer_id": {
            "title": "Customer Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "customer_name": {
            "title": "Customer Name",
            "type": [
              "string",
              "null"
            ]
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "check_number": {
            "title": "Check Number",
            "type": "string"
          },
          "date": {
            "description": "Posting date (GL date) - the date when the transaction is recorded in the general ledger",
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "description": "Transaction date (inception date) - the date when the transaction actually occurred",
            "format": "date",
            "title": "Transaction Date",
            "type": "string"
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "exchange_rate": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
            "title": "Exchange Rate",
            "type": "string"
          },
          "undeposited_funds_currency": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              {
                "type": "null"
              }
            ]
          },
          "bank_or_undeposited_account_amount": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Bank Or Undeposited Account Amount",
            "type": "string"
          },
          "amount": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Amount",
            "type": "string"
          },
          "unassigned_amount": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Unassigned Amount",
            "type": "string"
          },
          "record_status": {
            "$ref": "#/components/schemas/core__models__base__RecordStatus"
          },
          "customer_deposits": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/CustomerDepositDataPublicSchema"
            },
            "title": "Customer Deposits",
            "type": "array"
          },
          "payment_method_id": {
            "title": "Payment Method Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "paper_check_status": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/core__models__paper_check__PaperCheck__RecordStatus"
              },
              {
                "type": "null"
              }
            ]
          },
          "created_at": {
            "description": "Date and time the record was created",
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "updated_at": {
            "description": "Date and time the record was last updated",
            "format": "date-time",
            "title": "Updated At",
            "type": "string"
          }
        },
        "required": [
          "transaction_ids",
          "internal_id",
          "number",
          "account_number",
          "company_id",
          "company_name",
          "company_currency",
          "memo",
          "check_number",
          "date",
          "transaction_date",
          "currency_iso_4217_code",
          "exchange_rate",
          "undeposited_funds_currency",
          "bank_or_undeposited_account_amount",
          "amount",
          "unassigned_amount",
          "record_status",
          "paper_check_status",
          "created_at",
          "updated_at"
        ],
        "title": "PublicCustomerPaymentV2ListSchemaOut",
        "type": "object"
      },
      "PublicCustomerPaymentItemOut": {
        "properties": {
          "invoice_number": {
            "title": "Invoice Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "customer_credit_number": {
            "title": "Customer Credit Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "account_id": {
            "title": "Account Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "description": {
            "title": "Description",
            "type": [
              "string",
              "null"
            ]
          },
          "customer_id": {
            "title": "Customer Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "vendor_id": {
            "title": "Vendor Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "amount": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Amount",
            "type": "string"
          },
          "position": {
            "title": "Position",
            "type": "integer"
          },
          "bank_or_undeposited_account_amount": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Bank Or Undeposited Account Amount",
            "type": "string"
          }
        },
        "required": [
          "amount",
          "position",
          "bank_or_undeposited_account_amount"
        ],
        "title": "PublicCustomerPaymentItemOut",
        "type": "object"
      },
      "PublicCustomerPaymentV2SchemaOut": {
        "properties": {
          "custom_fields": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/CustomFieldValuePairOutputSchema"
            },
            "title": "Custom Fields",
            "type": "array"
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicAttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "classifications": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicRecordClassificationsSchemaOut"
            },
            "title": "Classifications",
            "type": "array"
          },
          "transaction_ids": {
            "items": {
              "type": "integer"
            },
            "title": "Transaction Ids",
            "type": "array"
          },
          "bank_match_status": {
            "title": "Bank Match Status",
            "type": [
              "string",
              "null"
            ]
          },
          "reconciliation_status": {
            "title": "Reconciliation Status",
            "type": [
              "string",
              "null"
            ]
          },
          "created_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "updated_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "internal_id": {
            "title": "Internal Id",
            "type": "integer"
          },
          "number": {
            "title": "Number",
            "type": "integer"
          },
          "account_number": {
            "title": "Account Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "items": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicCustomerPaymentItemOut"
            },
            "title": "Items",
            "type": "array"
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "company_name": {
            "title": "Company Name",
            "type": "string"
          },
          "company_currency": {
            "title": "Company Currency",
            "type": "string"
          },
          "customer_id": {
            "title": "Customer Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "customer_name": {
            "title": "Customer Name",
            "type": [
              "string",
              "null"
            ]
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "check_number": {
            "title": "Check Number",
            "type": "string"
          },
          "date": {
            "description": "Posting date (GL date) - the date when the transaction is recorded in the general ledger",
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "description": "Transaction date (inception date) - the date when the transaction actually occurred",
            "format": "date",
            "title": "Transaction Date",
            "type": "string"
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "exchange_rate": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
            "title": "Exchange Rate",
            "type": "string"
          },
          "undeposited_funds_currency": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              {
                "type": "null"
              }
            ]
          },
          "bank_or_undeposited_account_amount": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Bank Or Undeposited Account Amount",
            "type": "string"
          },
          "amount": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Amount",
            "type": "string"
          },
          "unassigned_amount": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Unassigned Amount",
            "type": "string"
          },
          "record_status": {
            "$ref": "#/components/schemas/core__models__base__RecordStatus"
          },
          "customer_deposits": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/CustomerDepositDataPublicSchema"
            },
            "title": "Customer Deposits",
            "type": "array"
          },
          "payment_method_id": {
            "title": "Payment Method Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "paper_check_status": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/core__models__paper_check__PaperCheck__RecordStatus"
              },
              {
                "type": "null"
              }
            ]
          },
          "has_more_lines": {
            "default": false,
            "title": "Has More Lines",
            "type": "boolean"
          },
          "lines_count": {
            "default": 0,
            "title": "Lines Count",
            "type": "integer"
          },
          "created_at": {
            "description": "Date and time the record was created",
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "updated_at": {
            "description": "Date and time the record was last updated",
            "format": "date-time",
            "title": "Updated At",
            "type": "string"
          }
        },
        "required": [
          "transaction_ids",
          "internal_id",
          "number",
          "account_number",
          "company_id",
          "company_name",
          "company_currency",
          "memo",
          "check_number",
          "date",
          "transaction_date",
          "currency_iso_4217_code",
          "exchange_rate",
          "undeposited_funds_currency",
          "bank_or_undeposited_account_amount",
          "amount",
          "unassigned_amount",
          "record_status",
          "paper_check_status",
          "created_at",
          "updated_at"
        ],
        "title": "PublicCustomerPaymentV2SchemaOut",
        "type": "object"
      },
      "PublicCustomerPaymentItemIn": {
        "properties": {
          "id": {
            "title": "Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "invoice_number": {
            "title": "Invoice Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "customer_credit_number": {
            "title": "Customer Credit Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "account_number": {
            "title": "Account Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "customer_id": {
            "title": "Customer Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "vendor_id": {
            "title": "Vendor Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "description": {
            "default": "",
            "title": "Description",
            "type": [
              "string",
              "null"
            ]
          },
          "amount": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
                "type": "string"
              }
            ],
            "title": "Amount"
          },
          "position": {
            "title": "Position",
            "type": "integer"
          }
        },
        "required": [
          "amount",
          "position"
        ],
        "title": "PublicCustomerPaymentItemIn",
        "type": "object"
      },
      "PublicCustomerPaymentSchemaCreateIn": {
        "properties": {
          "custom_fields": {
            "title": "Custom Fields",
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "title": "Transaction Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "customer_id": {
            "title": "Customer Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "check_number": {
            "title": "Check Number",
            "type": "string"
          },
          "account_number": {
            "title": "Account Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "exchange_rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
                "type": "string"
              }
            ],
            "title": "Exchange Rate"
          },
          "undeposited_funds_currency": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              {
                "type": "null"
              }
            ]
          },
          "unassigned_amount": {
            "anyOf": [
              {
                "minimum": 0,
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
                "type": "string"
              }
            ],
            "default": "0.00",
            "description": "Unassigned amount, in bank/undeposited currency",
            "title": "Unassigned Amount"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "items": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicCustomerPaymentItemIn"
            },
            "title": "Items",
            "type": "array"
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/AttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "payment_method_id": {
            "title": "Payment Method Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "record_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RecordStatus"
              }
            ],
            "default": "posted"
          },
          "line_date_validation": {
            "default": true,
            "title": "Line Date Validation",
            "type": "boolean"
          }
        },
        "required": [
          "date",
          "company_id",
          "check_number",
          "currency_iso_4217_code",
          "exchange_rate",
          "memo"
        ],
        "title": "PublicCustomerPaymentSchemaCreateIn",
        "type": "object"
      },
      "PublicCustomerPaymentSchemaUpdateIn": {
        "properties": {
          "custom_fields": {
            "title": "Custom Fields",
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "title": "Transaction Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "customer_id": {
            "title": "Customer Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "check_number": {
            "title": "Check Number",
            "type": "string"
          },
          "account_number": {
            "title": "Account Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "exchange_rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
                "type": "string"
              }
            ],
            "title": "Exchange Rate"
          },
          "undeposited_funds_currency": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              {
                "type": "null"
              }
            ]
          },
          "unassigned_amount": {
            "anyOf": [
              {
                "minimum": 0,
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
                "type": "string"
              }
            ],
            "default": "0.00",
            "description": "Unassigned amount, in bank/undeposited currency",
            "title": "Unassigned Amount"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "items": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicCustomerPaymentItemIn"
            },
            "title": "Items",
            "type": "array"
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/AttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "payment_method_id": {
            "title": "Payment Method Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "record_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RecordStatus"
              }
            ],
            "default": "posted"
          },
          "line_date_validation": {
            "default": true,
            "title": "Line Date Validation",
            "type": "boolean"
          }
        },
        "required": [
          "date",
          "company_id",
          "check_number",
          "currency_iso_4217_code",
          "exchange_rate",
          "memo"
        ],
        "title": "PublicCustomerPaymentSchemaUpdateIn",
        "type": "object"
      },
      "PublicCustomerPaymentSchemaPatchIn": {
        "description": "Partial update payload for PATCH /public/customer-payments/{number}/.\n\nEvery field is optional: send only the fields you want to change.\nUnset fields are left untouched on the existing record.",
        "properties": {
          "custom_fields": {
            "title": "Custom Fields",
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "customer_id": {
            "title": "Customer Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "check_number": {
            "title": "Check Number",
            "type": [
              "string",
              "null"
            ]
          },
          "account_number": {
            "title": "Account Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "currency_iso_4217_code": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              {
                "type": "null"
              }
            ]
          },
          "exchange_rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Exchange Rate"
          },
          "undeposited_funds_currency": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              {
                "type": "null"
              }
            ]
          },
          "unassigned_amount": {
            "anyOf": [
              {
                "minimum": 0,
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Unassigned Amount"
          },
          "memo": {
            "title": "Memo",
            "type": [
              "string",
              "null"
            ]
          },
          "items": {
            "title": "Items",
            "items": {
              "$ref": "#/components/schemas/PublicCustomerPaymentItemIn"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "attachments": {
            "title": "Attachments",
            "items": {
              "$ref": "#/components/schemas/AttachmentSchemaOut"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "payment_method_id": {
            "title": "Payment Method Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "record_status": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RecordStatus"
              },
              {
                "type": "null"
              }
            ]
          },
          "line_date_validation": {
            "title": "Line Date Validation",
            "type": [
              "boolean",
              "null"
            ]
          },
          "date": {
            "title": "Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "transaction_date": {
            "title": "Transaction Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "title": "PublicCustomerPaymentSchemaPatchIn",
        "type": "object"
      },
      "PagedPublicCustomerPaymentItemOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicCustomerPaymentItemOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicCustomerPaymentItemOut",
        "type": "object"
      },
      "PublicVendorPaymentV2ListFilterSchema": {
        "properties": {
          "search": {
            "title": "Search",
            "type": [
              "string",
              "null"
            ]
          },
          "company_id": {
            "q": "company_id__in",
            "title": "Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "number": {
            "q": "number__in",
            "title": "Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "vendor_id": {
            "title": "Vendor Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "start_date": {
            "q": "transaction__date__gte",
            "title": "Start Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "end_date": {
            "q": "transaction__date__lte",
            "title": "End Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "transaction_currency": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              {
                "type": "null"
              }
            ],
            "q": "transaction__currency_iso_4217_code"
          },
          "record_status": {
            "q": "transaction__record_status__in",
            "title": "Record Status",
            "items": {
              "$ref": "#/components/schemas/RecordStatus"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "bill_number": {
            "q": "vendor_payment_lines__bill__number__in",
            "title": "Bill Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "vendor_credit_number": {
            "q": "vendor_payment_lines__vendor_credit__number__in",
            "title": "Vendor Credit Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "updated_after": {
            "q": "updated_at__gte",
            "title": "Updated After",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_before": {
            "q": "updated_at__lte",
            "title": "Updated Before",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "title": "PublicVendorPaymentV2ListFilterSchema",
        "type": "object"
      },
      "PagedPublicVendorPaymentV2ListSchemaOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicVendorPaymentV2ListSchemaOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicVendorPaymentV2ListSchemaOut",
        "type": "object"
      },
      "PublicVendorPaymentV2ListSchemaOut": {
        "properties": {
          "custom_fields": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/CustomFieldValuePairOutputSchema"
            },
            "title": "Custom Fields",
            "type": "array"
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicAttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "classifications": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicRecordClassificationsSchemaOut"
            },
            "title": "Classifications",
            "type": "array"
          },
          "transaction_ids": {
            "items": {
              "type": "integer"
            },
            "title": "Transaction Ids",
            "type": "array"
          },
          "created_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "updated_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "internal_id": {
            "title": "Internal Id",
            "type": "integer"
          },
          "number": {
            "title": "Number",
            "type": "integer"
          },
          "account_number": {
            "title": "Account Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "company_name": {
            "title": "Company Name",
            "type": "string"
          },
          "company_currency": {
            "title": "Company Currency",
            "type": "string"
          },
          "vendor_id": {
            "title": "Vendor Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "vendor_name": {
            "title": "Vendor Name",
            "type": [
              "string",
              "null"
            ]
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "check_number": {
            "title": "Check Number",
            "type": "string"
          },
          "date": {
            "description": "Posting date (GL date) - the date when the transaction is recorded in the general ledger",
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "description": "Transaction date (inception date) - the date when the transaction actually occurred",
            "format": "date",
            "title": "Transaction Date",
            "type": "string"
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "exchange_rate": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
            "title": "Exchange Rate",
            "type": "string"
          },
          "bank_or_credit_card_amount": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Bank Or Credit Card Amount",
            "type": "string"
          },
          "amount": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Amount",
            "type": "string"
          },
          "record_status": {
            "$ref": "#/components/schemas/core__models__base__RecordStatus"
          },
          "payment_method_id": {
            "title": "Payment Method Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "paper_check_status": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/core__models__paper_check__PaperCheck__RecordStatus"
              },
              {
                "type": "null"
              }
            ]
          },
          "created_at": {
            "description": "Date and time the record was created",
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "updated_at": {
            "description": "Date and time the record was last updated",
            "format": "date-time",
            "title": "Updated At",
            "type": "string"
          }
        },
        "required": [
          "transaction_ids",
          "internal_id",
          "number",
          "account_number",
          "company_id",
          "company_name",
          "company_currency",
          "memo",
          "check_number",
          "date",
          "transaction_date",
          "currency_iso_4217_code",
          "exchange_rate",
          "bank_or_credit_card_amount",
          "amount",
          "record_status",
          "paper_check_status",
          "created_at",
          "updated_at"
        ],
        "title": "PublicVendorPaymentV2ListSchemaOut",
        "type": "object"
      },
      "PublicVendorPaymentItemOut": {
        "properties": {
          "bill_number": {
            "title": "Bill Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "vendor_credit_number": {
            "title": "Vendor Credit Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "journal_entry_line_id": {
            "title": "Journal Entry Line Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "intercompany_journal_entry_line_id": {
            "title": "Intercompany Journal Entry Line Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "amount": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Amount",
            "type": "string"
          },
          "position": {
            "title": "Position",
            "type": "integer"
          },
          "bank_or_credit_card_amount": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Bank Or Credit Card Amount",
            "type": "string"
          }
        },
        "required": [
          "amount",
          "position",
          "bank_or_credit_card_amount"
        ],
        "title": "PublicVendorPaymentItemOut",
        "type": "object"
      },
      "PublicVendorPaymentV2SchemaOut": {
        "properties": {
          "custom_fields": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/CustomFieldValuePairOutputSchema"
            },
            "title": "Custom Fields",
            "type": "array"
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicAttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "classifications": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicRecordClassificationsSchemaOut"
            },
            "title": "Classifications",
            "type": "array"
          },
          "transaction_ids": {
            "items": {
              "type": "integer"
            },
            "title": "Transaction Ids",
            "type": "array"
          },
          "created_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "updated_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "internal_id": {
            "title": "Internal Id",
            "type": "integer"
          },
          "number": {
            "title": "Number",
            "type": "integer"
          },
          "account_number": {
            "title": "Account Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "items": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicVendorPaymentItemOut"
            },
            "title": "Items",
            "type": "array"
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "company_name": {
            "title": "Company Name",
            "type": "string"
          },
          "company_currency": {
            "title": "Company Currency",
            "type": "string"
          },
          "vendor_id": {
            "title": "Vendor Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "vendor_name": {
            "title": "Vendor Name",
            "type": [
              "string",
              "null"
            ]
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "check_number": {
            "title": "Check Number",
            "type": "string"
          },
          "date": {
            "description": "Posting date (GL date) - the date when the transaction is recorded in the general ledger",
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "description": "Transaction date (inception date) - the date when the transaction actually occurred",
            "format": "date",
            "title": "Transaction Date",
            "type": "string"
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "exchange_rate": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
            "title": "Exchange Rate",
            "type": "string"
          },
          "bank_or_credit_card_amount": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Bank Or Credit Card Amount",
            "type": "string"
          },
          "amount": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Amount",
            "type": "string"
          },
          "record_status": {
            "$ref": "#/components/schemas/core__models__base__RecordStatus"
          },
          "payment_method_id": {
            "title": "Payment Method Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "paper_check_status": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/core__models__paper_check__PaperCheck__RecordStatus"
              },
              {
                "type": "null"
              }
            ]
          },
          "has_more_lines": {
            "default": false,
            "title": "Has More Lines",
            "type": "boolean"
          },
          "lines_count": {
            "default": 0,
            "title": "Lines Count",
            "type": "integer"
          },
          "created_at": {
            "description": "Date and time the record was created",
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "updated_at": {
            "description": "Date and time the record was last updated",
            "format": "date-time",
            "title": "Updated At",
            "type": "string"
          }
        },
        "required": [
          "transaction_ids",
          "internal_id",
          "number",
          "account_number",
          "company_id",
          "company_name",
          "company_currency",
          "memo",
          "check_number",
          "date",
          "transaction_date",
          "currency_iso_4217_code",
          "exchange_rate",
          "bank_or_credit_card_amount",
          "amount",
          "record_status",
          "paper_check_status",
          "created_at",
          "updated_at"
        ],
        "title": "PublicVendorPaymentV2SchemaOut",
        "type": "object"
      },
      "PublicVendorPaymentItemIn": {
        "properties": {
          "id": {
            "title": "Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "bill_number": {
            "title": "Bill Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "vendor_credit_number": {
            "title": "Vendor Credit Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "journal_entry_line_id": {
            "title": "Journal Entry Line Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "intercompany_journal_entry_line_id": {
            "title": "Intercompany Journal Entry Line Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "amount": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
                "type": "string"
              }
            ],
            "title": "Amount"
          },
          "position": {
            "title": "Position",
            "type": "integer"
          }
        },
        "required": [
          "amount",
          "position"
        ],
        "title": "PublicVendorPaymentItemIn",
        "type": "object"
      },
      "PublicVendorPaymentSchemaCreateIn": {
        "properties": {
          "custom_fields": {
            "title": "Custom Fields",
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "title": "Transaction Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "check_number": {
            "title": "Check Number",
            "type": "string"
          },
          "account_number": {
            "title": "Account Number",
            "type": "integer"
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "exchange_rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
                "type": "string"
              }
            ],
            "title": "Exchange Rate"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "items": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicVendorPaymentItemIn"
            },
            "title": "Items",
            "type": "array"
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/AttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "bank_or_credit_card_amount": {
            "anyOf": [
              {
                "minimum": 0,
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
                "type": "string"
              }
            ],
            "default": "0.00",
            "description": "Bank or credit card amount",
            "title": "Bank Or Credit Card Amount"
          },
          "payment_method_id": {
            "title": "Payment Method Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "record_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RecordStatus"
              }
            ],
            "default": "posted"
          },
          "line_date_validation": {
            "default": true,
            "title": "Line Date Validation",
            "type": "boolean"
          }
        },
        "required": [
          "date",
          "company_id",
          "check_number",
          "account_number",
          "currency_iso_4217_code",
          "exchange_rate",
          "memo"
        ],
        "title": "PublicVendorPaymentSchemaCreateIn",
        "type": "object"
      },
      "PublicVendorPaymentSchemaUpdateIn": {
        "properties": {
          "custom_fields": {
            "title": "Custom Fields",
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "title": "Transaction Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "check_number": {
            "title": "Check Number",
            "type": "string"
          },
          "account_number": {
            "title": "Account Number",
            "type": "integer"
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "exchange_rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
                "type": "string"
              }
            ],
            "title": "Exchange Rate"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "items": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicVendorPaymentItemIn"
            },
            "title": "Items",
            "type": "array"
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/AttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "bank_or_credit_card_amount": {
            "anyOf": [
              {
                "minimum": 0,
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
                "type": "string"
              }
            ],
            "default": "0.00",
            "description": "Bank or credit card amount",
            "title": "Bank Or Credit Card Amount"
          },
          "payment_method_id": {
            "title": "Payment Method Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "record_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RecordStatus"
              }
            ],
            "default": "posted"
          },
          "line_date_validation": {
            "default": true,
            "title": "Line Date Validation",
            "type": "boolean"
          }
        },
        "required": [
          "date",
          "company_id",
          "check_number",
          "account_number",
          "currency_iso_4217_code",
          "exchange_rate",
          "memo"
        ],
        "title": "PublicVendorPaymentSchemaUpdateIn",
        "type": "object"
      },
      "PagedPublicVendorPaymentItemOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicVendorPaymentItemOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicVendorPaymentItemOut",
        "type": "object"
      },
      "PublicVendorPrepaymentListFilterSchema": {
        "properties": {
          "search": {
            "title": "Search",
            "type": [
              "string",
              "null"
            ]
          },
          "company_id": {
            "q": "company_id__in",
            "title": "Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "number": {
            "q": "number__in",
            "title": "Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "vendor_id": {
            "q": "vendor_id__in",
            "title": "Vendor Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "start_date": {
            "q": "transaction__date__gte",
            "title": "Start Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "end_date": {
            "q": "transaction__date__lte",
            "title": "End Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "transaction_currency": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              {
                "type": "null"
              }
            ],
            "q": "transaction__currency_iso_4217_code"
          },
          "record_status": {
            "q": "transaction__record_status__in",
            "title": "Record Status",
            "items": {
              "$ref": "#/components/schemas/RecordStatus"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "recurring_record_id": {
            "q": "recurring_record_id__in",
            "title": "Recurring Record Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "updated_after": {
            "q": "updated_at__gte",
            "title": "Updated After",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_before": {
            "q": "updated_at__lte",
            "title": "Updated Before",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "title": "PublicVendorPrepaymentListFilterSchema",
        "type": "object"
      },
      "PagedPublicVendorPrepaymentSchemaOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicVendorPrepaymentSchemaOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicVendorPrepaymentSchemaOut",
        "type": "object"
      },
      "PublicVendorPrepaymentSchemaOut": {
        "properties": {
          "custom_fields": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/CustomFieldValuePairOutputSchema"
            },
            "title": "Custom Fields",
            "type": "array"
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicAttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "bank_match_status": {
            "title": "Bank Match Status",
            "type": [
              "string",
              "null"
            ]
          },
          "reconciliation_status": {
            "title": "Reconciliation Status",
            "type": [
              "string",
              "null"
            ]
          },
          "internal_id": {
            "title": "Internal Id",
            "type": "integer"
          },
          "transaction_ids": {
            "items": {
              "type": "integer"
            },
            "title": "Transaction Ids",
            "type": "array"
          },
          "number": {
            "title": "Number",
            "type": "integer"
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "company_name": {
            "title": "Company Name",
            "type": "string"
          },
          "company_currency": {
            "title": "Company Currency",
            "type": "string"
          },
          "vendor_id": {
            "title": "Vendor Id",
            "type": "integer"
          },
          "vendor_name": {
            "title": "Vendor Name",
            "type": "string"
          },
          "account_number": {
            "title": "Account Number",
            "type": "integer"
          },
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "format": "date",
            "title": "Transaction Date",
            "type": "string"
          },
          "check_number": {
            "title": "Check Number",
            "type": "string"
          },
          "amount": {
            "description": "Total transaction amount",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Amount",
            "type": "string"
          },
          "used_amount": {
            "description": "Amount that was already applied to Bills",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Used Amount",
            "type": "string"
          },
          "remaining_amount": {
            "description": "Amount that can be applied to Bills",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Remaining Amount",
            "type": "string"
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "exchange_rate": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
            "title": "Exchange Rate",
            "type": "string"
          },
          "bank_or_undeposited_funds_amount": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Bank Or Undeposited Funds Amount",
            "type": "string"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "record_status": {
            "$ref": "#/components/schemas/core__models__base__RecordStatus"
          },
          "payment_method_id": {
            "title": "Payment Method Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "paper_check_status": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/core__models__paper_check__PaperCheck__RecordStatus"
              },
              {
                "type": "null"
              }
            ]
          },
          "recurring_record_id": {
            "title": "Recurring Record Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "created_at": {
            "description": "Date and time the record was created",
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "updated_at": {
            "description": "Date and time the record was last updated",
            "format": "date-time",
            "title": "Updated At",
            "type": "string"
          }
        },
        "required": [
          "internal_id",
          "transaction_ids",
          "number",
          "company_id",
          "company_name",
          "company_currency",
          "vendor_id",
          "vendor_name",
          "account_number",
          "date",
          "transaction_date",
          "check_number",
          "amount",
          "used_amount",
          "remaining_amount",
          "currency_iso_4217_code",
          "exchange_rate",
          "bank_or_undeposited_funds_amount",
          "memo",
          "record_status",
          "paper_check_status",
          "created_at",
          "updated_at"
        ],
        "title": "PublicVendorPrepaymentSchemaOut",
        "type": "object"
      },
      "PublicVendorPrepaymentSchemaCreateIn": {
        "properties": {
          "financial_transaction_to_validate_match": {
            "title": "Financial Transaction To Validate Match",
            "type": [
              "integer",
              "null"
            ]
          },
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "title": "Transaction Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "custom_fields": {
            "title": "Custom Fields",
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "vendor_id": {
            "title": "Vendor Id",
            "type": "integer"
          },
          "account_number": {
            "title": "Account Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "check_number": {
            "title": "Check Number",
            "type": "string"
          },
          "amount": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
                "type": "string"
              }
            ],
            "title": "Amount"
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "exchange_rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
                "type": "string"
              }
            ],
            "title": "Exchange Rate"
          },
          "bank_or_undeposited_funds_amount": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
                "type": "string"
              }
            ],
            "title": "Bank Or Undeposited Funds Amount"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/AttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "payment_method_id": {
            "title": "Payment Method Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "record_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RecordStatus"
              }
            ],
            "default": "posted"
          }
        },
        "required": [
          "date",
          "company_id",
          "vendor_id",
          "check_number",
          "amount",
          "currency_iso_4217_code",
          "exchange_rate",
          "bank_or_undeposited_funds_amount",
          "memo"
        ],
        "title": "PublicVendorPrepaymentSchemaCreateIn",
        "type": "object"
      },
      "PublicVendorPrepaymentSchemaUpdateIn": {
        "properties": {
          "financial_transaction_to_validate_match": {
            "title": "Financial Transaction To Validate Match",
            "type": [
              "integer",
              "null"
            ]
          },
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "title": "Transaction Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "custom_fields": {
            "title": "Custom Fields",
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "vendor_id": {
            "title": "Vendor Id",
            "type": "integer"
          },
          "account_number": {
            "title": "Account Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "check_number": {
            "title": "Check Number",
            "type": "string"
          },
          "amount": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
                "type": "string"
              }
            ],
            "title": "Amount"
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "exchange_rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
                "type": "string"
              }
            ],
            "title": "Exchange Rate"
          },
          "bank_or_undeposited_funds_amount": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
                "type": "string"
              }
            ],
            "title": "Bank Or Undeposited Funds Amount"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/AttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "payment_method_id": {
            "title": "Payment Method Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "record_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RecordStatus"
              }
            ],
            "default": "posted"
          }
        },
        "required": [
          "date",
          "company_id",
          "vendor_id",
          "check_number",
          "amount",
          "currency_iso_4217_code",
          "exchange_rate",
          "bank_or_undeposited_funds_amount",
          "memo"
        ],
        "title": "PublicVendorPrepaymentSchemaUpdateIn",
        "type": "object"
      },
      "PublicVendorPrepaymentApplicationV2ListFilterSchema": {
        "properties": {
          "search": {
            "title": "Search",
            "type": [
              "string",
              "null"
            ]
          },
          "company_id": {
            "q": "company_id__in",
            "title": "Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "number": {
            "q": "number__in",
            "title": "Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "vendor_id": {
            "q": "vendor_prepayment_application_lines__bill__vendor_id__in",
            "title": "Vendor Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "start_date": {
            "q": "transaction__date__gte",
            "title": "Start Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "end_date": {
            "q": "transaction__date__lte",
            "title": "End Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "transaction_currency": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              {
                "type": "null"
              }
            ],
            "q": "transaction__currency_iso_4217_code"
          },
          "record_status": {
            "q": "transaction__record_status__in",
            "title": "Record Status",
            "items": {
              "$ref": "#/components/schemas/RecordStatus"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "bill_id": {
            "q": "vendor_prepayment_application_lines__bill_id__in",
            "title": "Bill Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "updated_after": {
            "q": "updated_at__gte",
            "title": "Updated After",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_before": {
            "q": "updated_at__lte",
            "title": "Updated Before",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "title": "PublicVendorPrepaymentApplicationV2ListFilterSchema",
        "type": "object"
      },
      "PagedPublicVendorPrepaymentApplicationV2ListSchemaOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicVendorPrepaymentApplicationV2ListSchemaOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicVendorPrepaymentApplicationV2ListSchemaOut",
        "type": "object"
      },
      "PublicVendorPrepaymentApplicationV2ListSchemaOut": {
        "properties": {
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicAttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "internal_id": {
            "title": "Internal Id",
            "type": "integer"
          },
          "transaction_ids": {
            "items": {
              "type": "integer"
            },
            "title": "Transaction Ids",
            "type": "array"
          },
          "number": {
            "title": "Number",
            "type": "integer"
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "company_name": {
            "title": "Company Name",
            "type": "string"
          },
          "company_currency": {
            "title": "Company Currency",
            "type": "string"
          },
          "vendor_id": {
            "title": "Vendor Id",
            "type": "integer"
          },
          "vendor_name": {
            "title": "Vendor Name",
            "type": "string"
          },
          "vendor_prepayment_number": {
            "title": "Vendor Prepayment Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "vendor_credit_number": {
            "title": "Vendor Credit Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "exchange_rate": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
            "title": "Exchange Rate",
            "type": "string"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "format": "date",
            "title": "Transaction Date",
            "type": "string"
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "amount": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Amount",
            "type": "string"
          },
          "record_status": {
            "$ref": "#/components/schemas/RecordStatus"
          },
          "created_at": {
            "description": "Date and time the record was created",
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "updated_at": {
            "description": "Date and time the record was last updated",
            "format": "date-time",
            "title": "Updated At",
            "type": "string"
          }
        },
        "required": [
          "internal_id",
          "transaction_ids",
          "number",
          "company_id",
          "company_name",
          "company_currency",
          "vendor_id",
          "vendor_name",
          "vendor_prepayment_number",
          "vendor_credit_number",
          "exchange_rate",
          "memo",
          "date",
          "transaction_date",
          "currency_iso_4217_code",
          "amount",
          "record_status",
          "created_at",
          "updated_at"
        ],
        "title": "PublicVendorPrepaymentApplicationV2ListSchemaOut",
        "type": "object"
      },
      "PublicVendorPrepaymentApplicationItemOut": {
        "properties": {
          "bill_number": {
            "title": "Bill Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "amount": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Amount",
            "type": "string"
          },
          "amount_due": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Amount Due",
            "type": "string"
          },
          "position": {
            "title": "Position",
            "type": "integer"
          }
        },
        "required": [
          "amount",
          "amount_due",
          "position"
        ],
        "title": "PublicVendorPrepaymentApplicationItemOut",
        "type": "object"
      },
      "PublicVendorPrepaymentApplicationV2SchemaOut": {
        "properties": {
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicAttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "internal_id": {
            "title": "Internal Id",
            "type": "integer"
          },
          "transaction_ids": {
            "items": {
              "type": "integer"
            },
            "title": "Transaction Ids",
            "type": "array"
          },
          "number": {
            "title": "Number",
            "type": "integer"
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "company_name": {
            "title": "Company Name",
            "type": "string"
          },
          "company_currency": {
            "title": "Company Currency",
            "type": "string"
          },
          "vendor_id": {
            "title": "Vendor Id",
            "type": "integer"
          },
          "vendor_name": {
            "title": "Vendor Name",
            "type": "string"
          },
          "vendor_prepayment_number": {
            "title": "Vendor Prepayment Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "vendor_credit_number": {
            "title": "Vendor Credit Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "exchange_rate": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
            "title": "Exchange Rate",
            "type": "string"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "format": "date",
            "title": "Transaction Date",
            "type": "string"
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "amount": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Amount",
            "type": "string"
          },
          "items": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicVendorPrepaymentApplicationItemOut"
            },
            "title": "Items",
            "type": "array"
          },
          "record_status": {
            "$ref": "#/components/schemas/RecordStatus"
          },
          "has_more_lines": {
            "default": false,
            "title": "Has More Lines",
            "type": "boolean"
          },
          "lines_count": {
            "default": 0,
            "title": "Lines Count",
            "type": "integer"
          },
          "created_at": {
            "description": "Date and time the record was created",
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "updated_at": {
            "description": "Date and time the record was last updated",
            "format": "date-time",
            "title": "Updated At",
            "type": "string"
          }
        },
        "required": [
          "internal_id",
          "transaction_ids",
          "number",
          "company_id",
          "company_name",
          "company_currency",
          "vendor_id",
          "vendor_name",
          "vendor_prepayment_number",
          "vendor_credit_number",
          "exchange_rate",
          "memo",
          "date",
          "transaction_date",
          "currency_iso_4217_code",
          "amount",
          "record_status",
          "created_at",
          "updated_at"
        ],
        "title": "PublicVendorPrepaymentApplicationV2SchemaOut",
        "type": "object"
      },
      "PublicVendorPrepaymentApplicationItemIn": {
        "properties": {
          "id": {
            "title": "Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "bill_number": {
            "title": "Bill Number",
            "type": "integer"
          },
          "amount": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
                "type": "string"
              }
            ],
            "title": "Amount"
          },
          "position": {
            "title": "Position",
            "type": "integer"
          }
        },
        "required": [
          "bill_number",
          "amount",
          "position"
        ],
        "title": "PublicVendorPrepaymentApplicationItemIn",
        "type": "object"
      },
      "PublicVendorPrepaymentApplicationSchemaCreateIn": {
        "properties": {
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "title": "Transaction Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "exchange_rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
                "type": "string"
              }
            ],
            "title": "Exchange Rate"
          },
          "vendor_prepayment_number": {
            "title": "Vendor Prepayment Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "vendor_credit_number": {
            "title": "Vendor Credit Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicVendorPrepaymentApplicationItemIn"
            },
            "title": "Items",
            "type": "array"
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/AttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "record_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RecordStatus"
              }
            ],
            "default": "posted"
          }
        },
        "required": [
          "date",
          "company_id",
          "currency_iso_4217_code",
          "exchange_rate",
          "memo",
          "items"
        ],
        "title": "PublicVendorPrepaymentApplicationSchemaCreateIn",
        "type": "object"
      },
      "PublicVendorPrepaymentApplicationSchemaUpdateIn": {
        "properties": {
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "title": "Transaction Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "exchange_rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
                "type": "string"
              }
            ],
            "title": "Exchange Rate"
          },
          "vendor_prepayment_number": {
            "title": "Vendor Prepayment Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "vendor_credit_number": {
            "title": "Vendor Credit Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicVendorPrepaymentApplicationItemIn"
            },
            "title": "Items",
            "type": "array"
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/AttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "record_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RecordStatus"
              }
            ],
            "default": "posted"
          }
        },
        "required": [
          "date",
          "company_id",
          "currency_iso_4217_code",
          "exchange_rate",
          "memo",
          "items"
        ],
        "title": "PublicVendorPrepaymentApplicationSchemaUpdateIn",
        "type": "object"
      },
      "PagedPublicVendorPrepaymentApplicationItemOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicVendorPrepaymentApplicationItemOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicVendorPrepaymentApplicationItemOut",
        "type": "object"
      },
      "PublicVendorCreditV2ListFilterSchema": {
        "properties": {
          "search": {
            "title": "Search",
            "type": [
              "string",
              "null"
            ]
          },
          "company_id": {
            "q": "company_id__in",
            "title": "Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "number": {
            "q": "number__in",
            "title": "Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "vendor_id": {
            "q": "vendor_id__in",
            "title": "Vendor Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "start_date": {
            "q": "transaction__date__gte",
            "title": "Start Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "end_date": {
            "q": "transaction__date__lte",
            "title": "End Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "transaction_currency": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              {
                "type": "null"
              }
            ],
            "q": "transaction__currency_iso_4217_code"
          },
          "record_status": {
            "q": "transaction__record_status__in",
            "title": "Record Status",
            "items": {
              "$ref": "#/components/schemas/RecordStatus"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "bill_number": {
            "title": "Bill Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "updated_after": {
            "q": "updated_at__gte",
            "title": "Updated After",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_before": {
            "q": "updated_at__lte",
            "title": "Updated Before",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "title": "PublicVendorCreditV2ListFilterSchema",
        "type": "object"
      },
      "PagedPublicVendorCreditV2ListSchemaOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicVendorCreditV2ListSchemaOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicVendorCreditV2ListSchemaOut",
        "type": "object"
      },
      "PublicVendorCreditV2ListSchemaOut": {
        "properties": {
          "custom_fields": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/CustomFieldValuePairOutputSchema"
            },
            "title": "Custom Fields",
            "type": "array"
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicAttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "supply_date": {
            "title": "Supply Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "place_of_supply": {
            "title": "Place Of Supply",
            "maxLength": 2,
            "type": [
              "string",
              "null"
            ]
          },
          "tax_registration_numbers": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/TaxRegistrationNumbersSnapshot"
              },
              {
                "type": "null"
              }
            ]
          },
          "tax": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RecordTaxContextOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "classifications": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicRecordClassificationsSchemaOut"
            },
            "title": "Classifications",
            "type": "array"
          },
          "transaction_ids": {
            "items": {
              "type": "integer"
            },
            "title": "Transaction Ids",
            "type": "array"
          },
          "created_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "updated_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "internal_id": {
            "title": "Internal Id",
            "type": "integer"
          },
          "number": {
            "title": "Number",
            "type": "integer"
          },
          "bill_number": {
            "title": "Bill Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "direct_expense_number": {
            "title": "Direct Expense Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "date": {
            "description": "Posting date (GL date) - the date when the transaction is recorded in the general ledger",
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "description": "Transaction date (inception date) - the date when the transaction actually occurred",
            "format": "date",
            "title": "Transaction Date",
            "type": "string"
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "company_name": {
            "title": "Company Name",
            "type": "string"
          },
          "company_currency": {
            "title": "Company Currency",
            "type": "string"
          },
          "vendor_id": {
            "title": "Vendor Id",
            "type": "integer"
          },
          "vendor_name": {
            "title": "Vendor Name",
            "type": "string"
          },
          "currency_iso_4217_code": {
            "title": "Currency Iso 4217 Code",
            "type": [
              "string",
              "null"
            ]
          },
          "exchange_rate": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
            "title": "Exchange Rate",
            "type": "string"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "amount": {
            "description": "Total transaction amount",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Amount",
            "type": "string"
          },
          "used_amount": {
            "description": "Amount that was already applied to Bills through Vendor Refunds or Vendor Prepayment Applications",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Used Amount",
            "type": "string"
          },
          "remaining_amount": {
            "description": "Amount that can be applied to Bills through Vendor Refunds or Vendor Prepayment Applications",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Remaining Amount",
            "type": "string"
          },
          "record_status": {
            "$ref": "#/components/schemas/RecordStatus"
          },
          "created_at": {
            "description": "Date and time the record was created",
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "updated_at": {
            "description": "Date and time the record was last updated",
            "format": "date-time",
            "title": "Updated At",
            "type": "string"
          }
        },
        "required": [
          "supply_date",
          "tax",
          "transaction_ids",
          "internal_id",
          "number",
          "date",
          "transaction_date",
          "company_id",
          "company_name",
          "company_currency",
          "vendor_id",
          "vendor_name",
          "currency_iso_4217_code",
          "exchange_rate",
          "memo",
          "amount",
          "used_amount",
          "remaining_amount",
          "record_status",
          "created_at",
          "updated_at"
        ],
        "title": "PublicVendorCreditV2ListSchemaOut",
        "type": "object"
      },
      "PublicVendorCreditExpenseOut": {
        "description": "Output schema for vendor credit expense lines.",
        "properties": {
          "tax": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ItemTaxDataOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "account_number": {
            "title": "Account Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "quantity": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
            "title": "Quantity",
            "type": "string"
          },
          "rate": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
            "title": "Rate",
            "type": "string"
          },
          "position": {
            "title": "Position",
            "type": "integer"
          },
          "expense_description": {
            "title": "Expense Description",
            "type": "string"
          },
          "customer_id": {
            "title": "Customer Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "vendor_id": {
            "title": "Vendor Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "classifications": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicRecordClassificationsSchemaOut"
            },
            "title": "Classifications",
            "type": "array"
          },
          "account_name": {
            "title": "Account Name",
            "type": [
              "string",
              "null"
            ]
          },
          "customer_name": {
            "title": "Customer Name",
            "type": [
              "string",
              "null"
            ]
          },
          "vendor_name": {
            "title": "Vendor Name",
            "type": [
              "string",
              "null"
            ]
          },
          "net_amount": {
            "description": "Net amount before tax",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "readOnly": true,
            "title": "Net Amount",
            "type": "string"
          },
          "tax_amount": {
            "description": "Calculated tax amount",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "readOnly": true,
            "title": "Tax Amount",
            "type": "string"
          },
          "gross_amount": {
            "description": "Calculated total amount including tax",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "readOnly": true,
            "title": "Gross Amount",
            "type": "string"
          },
          "amount": {
            "description": "Calculated total amount including tax named amount for backward compatibility",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "readOnly": true,
            "title": "Amount",
            "type": "string"
          }
        },
        "required": [
          "id",
          "quantity",
          "rate",
          "position",
          "expense_description",
          "net_amount",
          "tax_amount",
          "gross_amount",
          "amount"
        ],
        "title": "PublicVendorCreditExpenseOut",
        "type": "object"
      },
      "PublicVendorCreditItemOut": {
        "description": "Output schema for vendor credit item lines.",
        "properties": {
          "tax": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ItemTaxDataOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "position": {
            "title": "Position",
            "type": "integer"
          },
          "item_id": {
            "title": "Item Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "rate": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
            "title": "Rate",
            "type": "string"
          },
          "quantity": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
            "title": "Quantity",
            "type": "string"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "classifications": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicRecordClassificationsSchemaOut"
            },
            "title": "Classifications",
            "type": "array"
          },
          "item_type": {
            "title": "Item Type",
            "type": [
              "string",
              "null"
            ]
          },
          "hsn_sac_code": {
            "title": "Hsn Sac Code",
            "type": [
              "string",
              "null"
            ]
          },
          "item_name": {
            "title": "Item Name",
            "type": [
              "string",
              "null"
            ]
          },
          "net_amount": {
            "description": "Net amount before tax",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "readOnly": true,
            "title": "Net Amount",
            "type": "string"
          },
          "tax_amount": {
            "description": "Calculated tax amount",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "readOnly": true,
            "title": "Tax Amount",
            "type": "string"
          },
          "gross_amount": {
            "description": "Calculated total amount including tax",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "readOnly": true,
            "title": "Gross Amount",
            "type": "string"
          },
          "amount": {
            "description": "Calculated total amount including tax named amount for backward compatibility",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "readOnly": true,
            "title": "Amount",
            "type": "string"
          }
        },
        "required": [
          "id",
          "position",
          "rate",
          "quantity",
          "memo",
          "net_amount",
          "tax_amount",
          "gross_amount",
          "amount"
        ],
        "title": "PublicVendorCreditItemOut",
        "type": "object"
      },
      "PublicVendorCreditV2SchemaOut": {
        "properties": {
          "custom_fields": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/CustomFieldValuePairOutputSchema"
            },
            "title": "Custom Fields",
            "type": "array"
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicAttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "supply_date": {
            "title": "Supply Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "place_of_supply": {
            "title": "Place Of Supply",
            "maxLength": 2,
            "type": [
              "string",
              "null"
            ]
          },
          "tax_registration_numbers": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/TaxRegistrationNumbersSnapshot"
              },
              {
                "type": "null"
              }
            ]
          },
          "tax": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RecordTaxContextOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "classifications": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicRecordClassificationsSchemaOut"
            },
            "title": "Classifications",
            "type": "array"
          },
          "transaction_ids": {
            "items": {
              "type": "integer"
            },
            "title": "Transaction Ids",
            "type": "array"
          },
          "created_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "updated_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "internal_id": {
            "title": "Internal Id",
            "type": "integer"
          },
          "number": {
            "title": "Number",
            "type": "integer"
          },
          "bill_number": {
            "title": "Bill Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "direct_expense_number": {
            "title": "Direct Expense Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "date": {
            "description": "Posting date (GL date) - the date when the transaction is recorded in the general ledger",
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "description": "Transaction date (inception date) - the date when the transaction actually occurred",
            "format": "date",
            "title": "Transaction Date",
            "type": "string"
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "company_name": {
            "title": "Company Name",
            "type": "string"
          },
          "company_currency": {
            "title": "Company Currency",
            "type": "string"
          },
          "vendor_id": {
            "title": "Vendor Id",
            "type": "integer"
          },
          "vendor_name": {
            "title": "Vendor Name",
            "type": "string"
          },
          "currency_iso_4217_code": {
            "title": "Currency Iso 4217 Code",
            "type": [
              "string",
              "null"
            ]
          },
          "exchange_rate": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
            "title": "Exchange Rate",
            "type": "string"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "items": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicVendorCreditItemOut"
            },
            "title": "Items",
            "type": "array"
          },
          "expenses": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicVendorCreditExpenseOut"
            },
            "title": "Expenses",
            "type": "array"
          },
          "amount": {
            "description": "Total transaction amount",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Amount",
            "type": "string"
          },
          "used_amount": {
            "description": "Amount that was already applied to Bills through Vendor Refunds or Vendor Prepayment Applications",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Used Amount",
            "type": "string"
          },
          "remaining_amount": {
            "description": "Amount that can be applied to Bills through Vendor Refunds or Vendor Prepayment Applications",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Remaining Amount",
            "type": "string"
          },
          "record_status": {
            "$ref": "#/components/schemas/RecordStatus"
          },
          "items_has_more": {
            "default": false,
            "title": "Items Has More",
            "type": "boolean"
          },
          "items_count": {
            "default": 0,
            "title": "Items Count",
            "type": "integer"
          },
          "expenses_has_more": {
            "default": false,
            "title": "Expenses Has More",
            "type": "boolean"
          },
          "expenses_count": {
            "default": 0,
            "title": "Expenses Count",
            "type": "integer"
          },
          "created_at": {
            "description": "Date and time the record was created",
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "updated_at": {
            "description": "Date and time the record was last updated",
            "format": "date-time",
            "title": "Updated At",
            "type": "string"
          }
        },
        "required": [
          "supply_date",
          "tax",
          "transaction_ids",
          "internal_id",
          "number",
          "date",
          "transaction_date",
          "company_id",
          "company_name",
          "company_currency",
          "vendor_id",
          "vendor_name",
          "currency_iso_4217_code",
          "exchange_rate",
          "memo",
          "amount",
          "used_amount",
          "remaining_amount",
          "record_status",
          "created_at",
          "updated_at"
        ],
        "title": "PublicVendorCreditV2SchemaOut",
        "type": "object"
      },
      "PublicVendorCreditExpenseIn": {
        "description": "Input schema for vendor credit expense lines (for direct expenses).",
        "properties": {
          "tax": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ItemTaxData"
              },
              {
                "type": "null"
              }
            ]
          },
          "id": {
            "title": "Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "account_number": {
            "title": "Account Number",
            "type": "integer"
          },
          "quantity": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
                "type": "string"
              }
            ],
            "title": "Quantity"
          },
          "rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
                "type": "string"
              }
            ],
            "title": "Rate"
          },
          "position": {
            "title": "Position",
            "type": "integer"
          },
          "expense_description": {
            "default": "",
            "title": "Expense Description",
            "type": "string"
          },
          "customer_id": {
            "title": "Customer Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "vendor_id": {
            "title": "Vendor Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "classifications": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicRecordClassificationsSchemaOut"
            },
            "title": "Classifications",
            "type": "array"
          }
        },
        "required": [
          "account_number",
          "quantity",
          "rate",
          "position"
        ],
        "title": "PublicVendorCreditExpenseIn",
        "type": "object"
      },
      "PublicVendorCreditItemIn": {
        "description": "Input schema for vendor credit item lines (for products/services).",
        "properties": {
          "tax": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ItemTaxData"
              },
              {
                "type": "null"
              }
            ]
          },
          "id": {
            "title": "Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "position": {
            "title": "Position",
            "type": "integer"
          },
          "item_id": {
            "title": "Item Id",
            "type": "integer"
          },
          "rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
                "type": "string"
              }
            ],
            "title": "Rate"
          },
          "quantity": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
                "type": "string"
              }
            ],
            "title": "Quantity"
          },
          "memo": {
            "default": "",
            "title": "Memo",
            "type": "string"
          },
          "classifications": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicRecordClassificationsSchemaOut"
            },
            "title": "Classifications",
            "type": "array"
          }
        },
        "required": [
          "position",
          "item_id",
          "rate",
          "quantity"
        ],
        "title": "PublicVendorCreditItemIn",
        "type": "object"
      },
      "PublicVendorCreditSchemaCreateIn": {
        "description": "Input schema for creating Vendor Credit records.",
        "properties": {
          "custom_fields": {
            "title": "Custom Fields",
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "title": "Transaction Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "bill_number": {
            "title": "Bill Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "direct_expense_number": {
            "title": "Direct Expense Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "vendor_id": {
            "title": "Vendor Id",
            "type": "integer"
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "memo": {
            "default": "",
            "title": "Memo",
            "type": "string"
          },
          "exchange_rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
                "type": "string"
              }
            ],
            "title": "Exchange Rate"
          },
          "items": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicVendorCreditItemIn"
            },
            "title": "Items",
            "type": "array"
          },
          "expenses": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicVendorCreditExpenseIn"
            },
            "title": "Expenses",
            "type": "array"
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/AttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "record_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RecordStatus"
              }
            ],
            "default": "posted"
          }
        },
        "required": [
          "date",
          "vendor_id",
          "company_id",
          "currency_iso_4217_code",
          "exchange_rate"
        ],
        "title": "PublicVendorCreditSchemaCreateIn",
        "type": "object"
      },
      "PublicVendorCreditSchemaUpdateIn": {
        "description": "Input schema for updating Vendor Credit records.",
        "properties": {
          "custom_fields": {
            "title": "Custom Fields",
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "title": "Transaction Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "bill_number": {
            "title": "Bill Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "direct_expense_number": {
            "title": "Direct Expense Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "vendor_id": {
            "title": "Vendor Id",
            "type": "integer"
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "memo": {
            "default": "",
            "title": "Memo",
            "type": "string"
          },
          "exchange_rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
                "type": "string"
              }
            ],
            "title": "Exchange Rate"
          },
          "items": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicVendorCreditItemIn"
            },
            "title": "Items",
            "type": "array"
          },
          "expenses": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicVendorCreditExpenseIn"
            },
            "title": "Expenses",
            "type": "array"
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/AttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "record_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RecordStatus"
              }
            ],
            "default": "posted"
          }
        },
        "required": [
          "date",
          "vendor_id",
          "company_id",
          "currency_iso_4217_code",
          "exchange_rate"
        ],
        "title": "PublicVendorCreditSchemaUpdateIn",
        "type": "object"
      },
      "PagedPublicVendorCreditLineOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicVendorCreditLineOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicVendorCreditLineOut",
        "type": "object"
      },
      "PublicVendorCreditLineOut": {
        "description": "Unified V2 vendor credit line: one row of `vendor_credit_lines`, item or expense, tagged by `line_type`.\n\nItem-only fields (`item_id`, `item_name`, `memo`) are null on expense rows; expense-only fields\n(`account_number`, `account_name`, `expense_description`, `customer_*`, `vendor_*`) are null on item rows.",
        "properties": {
          "classifications": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicRecordClassificationsSchemaOut"
            },
            "title": "Classifications",
            "type": "array"
          },
          "item_type": {
            "title": "Item Type",
            "type": [
              "string",
              "null"
            ]
          },
          "hsn_sac_code": {
            "title": "Hsn Sac Code",
            "type": [
              "string",
              "null"
            ]
          },
          "tax": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ItemTaxDataOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "line_type": {
            "title": "Line Type",
            "type": "string"
          },
          "position": {
            "title": "Position",
            "type": "integer"
          },
          "rate": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
            "title": "Rate",
            "type": "string"
          },
          "quantity": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
            "title": "Quantity",
            "type": "string"
          },
          "item_id": {
            "title": "Item Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "item_name": {
            "title": "Item Name",
            "type": [
              "string",
              "null"
            ]
          },
          "memo": {
            "title": "Memo",
            "type": [
              "string",
              "null"
            ]
          },
          "account_number": {
            "title": "Account Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "account_name": {
            "title": "Account Name",
            "type": [
              "string",
              "null"
            ]
          },
          "expense_description": {
            "title": "Expense Description",
            "type": [
              "string",
              "null"
            ]
          },
          "customer_id": {
            "title": "Customer Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "customer_name": {
            "title": "Customer Name",
            "type": [
              "string",
              "null"
            ]
          },
          "vendor_id": {
            "title": "Vendor Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "vendor_name": {
            "title": "Vendor Name",
            "type": [
              "string",
              "null"
            ]
          },
          "net_amount": {
            "description": "Net amount before tax",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "readOnly": true,
            "title": "Net Amount",
            "type": "string"
          },
          "tax_amount": {
            "description": "Calculated tax amount",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "readOnly": true,
            "title": "Tax Amount",
            "type": "string"
          },
          "gross_amount": {
            "description": "Calculated total amount including tax",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "readOnly": true,
            "title": "Gross Amount",
            "type": "string"
          },
          "amount": {
            "description": "Calculated total amount including tax named amount for backward compatibility",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "readOnly": true,
            "title": "Amount",
            "type": "string"
          }
        },
        "required": [
          "id",
          "line_type",
          "position",
          "rate",
          "quantity",
          "net_amount",
          "tax_amount",
          "gross_amount",
          "amount"
        ],
        "title": "PublicVendorCreditLineOut",
        "type": "object"
      },
      "PublicVendorRefundListFilterSchema": {
        "properties": {
          "search": {
            "title": "Search",
            "type": [
              "string",
              "null"
            ]
          },
          "company_id": {
            "q": "company_id__in",
            "title": "Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "number": {
            "q": "number__in",
            "title": "Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "vendor_id": {
            "q": "vendor_id__in",
            "title": "Vendor Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "vendor_credit_id": {
            "q": "vendor_refund_lines__vendor_credit_id__in",
            "title": "Vendor Credit Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "start_date": {
            "q": "transaction__date__gte",
            "title": "Start Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "end_date": {
            "q": "transaction__date__lte",
            "title": "End Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "transaction_currency": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              {
                "type": "null"
              }
            ],
            "q": "transaction__currency_iso_4217_code"
          },
          "record_status": {
            "q": "transaction__record_status__in",
            "title": "Record Status",
            "items": {
              "$ref": "#/components/schemas/RecordStatus"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "updated_after": {
            "q": "updated_at__gte",
            "title": "Updated After",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_before": {
            "q": "updated_at__lte",
            "title": "Updated Before",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "title": "PublicVendorRefundListFilterSchema",
        "type": "object"
      },
      "PagedPublicVendorRefundSchemaOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicVendorRefundSchemaOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicVendorRefundSchemaOut",
        "type": "object"
      },
      "PublicVendorRefundItemOut": {
        "properties": {
          "vendor_credit_number": {
            "title": "Vendor Credit Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "vendor_prepayment_number": {
            "title": "Vendor Prepayment Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "amount": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Amount",
            "type": "string"
          },
          "position": {
            "title": "Position",
            "type": "integer"
          },
          "bank_or_credit_card_amount": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Bank Or Credit Card Amount",
            "type": "string"
          }
        },
        "required": [
          "amount",
          "position",
          "bank_or_credit_card_amount"
        ],
        "title": "PublicVendorRefundItemOut",
        "type": "object"
      },
      "PublicVendorRefundSchemaOut": {
        "properties": {
          "custom_fields": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/CustomFieldValuePairOutputSchema"
            },
            "title": "Custom Fields",
            "type": "array"
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicAttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "classifications": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicRecordClassificationsSchemaOut"
            },
            "title": "Classifications",
            "type": "array"
          },
          "transaction_ids": {
            "items": {
              "type": "integer"
            },
            "title": "Transaction Ids",
            "type": "array"
          },
          "created_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "updated_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "internal_id": {
            "title": "Internal Id",
            "type": "integer"
          },
          "number": {
            "title": "Number",
            "type": "integer"
          },
          "account_number": {
            "title": "Account Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicVendorRefundItemOut"
            },
            "title": "Items",
            "type": "array"
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "company_name": {
            "title": "Company Name",
            "type": "string"
          },
          "company_currency": {
            "title": "Company Currency",
            "type": "string"
          },
          "vendor_id": {
            "title": "Vendor Id",
            "type": "integer"
          },
          "vendor_name": {
            "title": "Vendor Name",
            "type": "string"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "check_number": {
            "title": "Check Number",
            "type": "string"
          },
          "date": {
            "description": "Posting date (GL date) - the date when the transaction is recorded in the general ledger",
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "description": "Transaction date (inception date) - the date when the transaction actually occurred",
            "format": "date",
            "title": "Transaction Date",
            "type": "string"
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "exchange_rate": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
            "title": "Exchange Rate",
            "type": "string"
          },
          "bank_or_credit_card_amount": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Bank Or Credit Card Amount",
            "type": "string"
          },
          "amount": {
            "description": "Total transaction amount",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Amount",
            "type": "string"
          },
          "record_status": {
            "$ref": "#/components/schemas/core__models__base__RecordStatus"
          },
          "payment_method_id": {
            "title": "Payment Method Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "paper_check_status": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/core__models__paper_check__PaperCheck__RecordStatus"
              },
              {
                "type": "null"
              }
            ]
          },
          "created_at": {
            "description": "Date and time the record was created",
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "updated_at": {
            "description": "Date and time the record was last updated",
            "format": "date-time",
            "title": "Updated At",
            "type": "string"
          }
        },
        "required": [
          "transaction_ids",
          "internal_id",
          "number",
          "account_number",
          "items",
          "company_id",
          "company_name",
          "company_currency",
          "vendor_id",
          "vendor_name",
          "memo",
          "check_number",
          "date",
          "transaction_date",
          "currency_iso_4217_code",
          "exchange_rate",
          "bank_or_credit_card_amount",
          "amount",
          "record_status",
          "paper_check_status",
          "created_at",
          "updated_at"
        ],
        "title": "PublicVendorRefundSchemaOut",
        "type": "object"
      },
      "PublicVendorRefundItemIn": {
        "properties": {
          "id": {
            "title": "Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "vendor_credit_number": {
            "title": "Vendor Credit Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "vendor_prepayment_number": {
            "title": "Vendor Prepayment Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "amount": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
                "type": "string"
              }
            ],
            "title": "Amount"
          },
          "position": {
            "title": "Position",
            "type": "integer"
          }
        },
        "required": [
          "amount",
          "position"
        ],
        "title": "PublicVendorRefundItemIn",
        "type": "object"
      },
      "PublicVendorRefundSchemaCreateIn": {
        "properties": {
          "custom_fields": {
            "title": "Custom Fields",
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "title": "Transaction Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "vendor_id": {
            "title": "Vendor Id",
            "type": "integer"
          },
          "check_number": {
            "default": "",
            "title": "Check Number",
            "type": "string"
          },
          "account_number": {
            "title": "Account Number",
            "type": "integer"
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "exchange_rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
                "type": "string"
              }
            ],
            "title": "Exchange Rate"
          },
          "memo": {
            "default": "",
            "title": "Memo",
            "type": "string"
          },
          "items": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicVendorRefundItemIn"
            },
            "title": "Items",
            "type": "array"
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/AttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "bank_or_credit_card_amount": {
            "anyOf": [
              {
                "minimum": 0,
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
                "type": "string"
              }
            ],
            "default": "0.00",
            "description": "Bank or credit card amount",
            "title": "Bank Or Credit Card Amount"
          },
          "payment_method_id": {
            "title": "Payment Method Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "record_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RecordStatus"
              }
            ],
            "default": "posted"
          }
        },
        "required": [
          "date",
          "company_id",
          "vendor_id",
          "account_number",
          "currency_iso_4217_code",
          "exchange_rate"
        ],
        "title": "PublicVendorRefundSchemaCreateIn",
        "type": "object"
      },
      "PublicVendorRefundSchemaUpdateIn": {
        "properties": {
          "custom_fields": {
            "title": "Custom Fields",
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "title": "Transaction Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "vendor_id": {
            "title": "Vendor Id",
            "type": "integer"
          },
          "check_number": {
            "default": "",
            "title": "Check Number",
            "type": "string"
          },
          "account_number": {
            "title": "Account Number",
            "type": "integer"
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "exchange_rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
                "type": "string"
              }
            ],
            "title": "Exchange Rate"
          },
          "memo": {
            "default": "",
            "title": "Memo",
            "type": "string"
          },
          "items": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicVendorRefundItemIn"
            },
            "title": "Items",
            "type": "array"
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/AttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "bank_or_credit_card_amount": {
            "anyOf": [
              {
                "minimum": 0,
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
                "type": "string"
              }
            ],
            "default": "0.00",
            "description": "Bank or credit card amount",
            "title": "Bank Or Credit Card Amount"
          },
          "payment_method_id": {
            "title": "Payment Method Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "record_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RecordStatus"
              }
            ],
            "default": "posted"
          }
        },
        "required": [
          "date",
          "company_id",
          "vendor_id",
          "account_number",
          "currency_iso_4217_code",
          "exchange_rate"
        ],
        "title": "PublicVendorRefundSchemaUpdateIn",
        "type": "object"
      },
      "PublicDirectExpenseV2ListFilterSchema": {
        "properties": {
          "search": {
            "title": "Search",
            "type": [
              "string",
              "null"
            ]
          },
          "company_id": {
            "q": "company_id__in",
            "title": "Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "number": {
            "q": "number__in",
            "title": "Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "vendor_id": {
            "q": "vendor_id__in",
            "title": "Vendor Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "start_date": {
            "q": "transaction__date__gte",
            "title": "Start Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "end_date": {
            "q": "transaction__date__lte",
            "title": "End Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "transaction_currency": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              {
                "type": "null"
              }
            ],
            "q": "transaction__currency_iso_4217_code"
          },
          "record_status": {
            "q": "transaction__record_status__in",
            "title": "Record Status",
            "items": {
              "$ref": "#/components/schemas/RecordStatus"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "updated_after": {
            "q": "updated_at__gte",
            "title": "Updated After",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_before": {
            "q": "updated_at__lte",
            "title": "Updated Before",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "title": "PublicDirectExpenseV2ListFilterSchema",
        "type": "object"
      },
      "PagedPublicDirectExpenseV2ListSchemaOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicDirectExpenseV2ListSchemaOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicDirectExpenseV2ListSchemaOut",
        "type": "object"
      },
      "PublicDirectExpenseV2ListSchemaOut": {
        "properties": {
          "custom_fields": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/CustomFieldValuePairOutputSchema"
            },
            "title": "Custom Fields",
            "type": "array"
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicAttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "supply_date": {
            "title": "Supply Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "place_of_supply": {
            "title": "Place Of Supply",
            "maxLength": 2,
            "type": [
              "string",
              "null"
            ]
          },
          "tax_registration_numbers": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/TaxRegistrationNumbersSnapshot"
              },
              {
                "type": "null"
              }
            ]
          },
          "tax": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RecordTaxContextOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "classifications": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicRecordClassificationsSchemaOut"
            },
            "title": "Classifications",
            "type": "array"
          },
          "transaction_ids": {
            "items": {
              "type": "integer"
            },
            "title": "Transaction Ids",
            "type": "array"
          },
          "bank_match_status": {
            "title": "Bank Match Status",
            "type": [
              "string",
              "null"
            ]
          },
          "reconciliation_status": {
            "title": "Reconciliation Status",
            "type": [
              "string",
              "null"
            ]
          },
          "created_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "updated_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "internal_id": {
            "title": "Internal Id",
            "type": "integer"
          },
          "number": {
            "title": "Number",
            "type": "integer"
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "company_name": {
            "title": "Company Name",
            "type": "string"
          },
          "company_currency": {
            "title": "Company Currency",
            "type": "string"
          },
          "vendor_id": {
            "title": "Vendor Id",
            "type": "integer"
          },
          "vendor_name": {
            "title": "Vendor Name",
            "type": "string"
          },
          "account_number": {
            "title": "Account Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "amount": {
            "description": "Total transaction amount",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Amount",
            "type": "string"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "check_number": {
            "title": "Check Number",
            "type": "string"
          },
          "date": {
            "description": "Posting date (GL date) - the date when the transaction is recorded in the general ledger",
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "description": "Transaction date (inception date) - the date when the transaction actually occurred",
            "format": "date",
            "title": "Transaction Date",
            "type": "string"
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "exchange_rate": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
            "title": "Exchange Rate",
            "type": "string"
          },
          "bank_or_credit_card_amount": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Bank Or Credit Card Amount",
            "type": "string"
          },
          "payment_method_id": {
            "title": "Payment Method Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "record_status": {
            "$ref": "#/components/schemas/RecordStatus"
          },
          "created_at": {
            "description": "Date and time the record was created",
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "updated_at": {
            "description": "Date and time the record was last updated",
            "format": "date-time",
            "title": "Updated At",
            "type": "string"
          }
        },
        "required": [
          "supply_date",
          "tax",
          "transaction_ids",
          "internal_id",
          "number",
          "company_id",
          "company_name",
          "company_currency",
          "vendor_id",
          "vendor_name",
          "account_number",
          "amount",
          "memo",
          "check_number",
          "date",
          "transaction_date",
          "currency_iso_4217_code",
          "exchange_rate",
          "bank_or_credit_card_amount",
          "record_status",
          "created_at",
          "updated_at"
        ],
        "title": "PublicDirectExpenseV2ListSchemaOut",
        "type": "object"
      },
      "PublicDirectExpenseV2SchemaOut": {
        "properties": {
          "custom_fields": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/CustomFieldValuePairOutputSchema"
            },
            "title": "Custom Fields",
            "type": "array"
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicAttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "supply_date": {
            "title": "Supply Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "place_of_supply": {
            "title": "Place Of Supply",
            "maxLength": 2,
            "type": [
              "string",
              "null"
            ]
          },
          "tax_registration_numbers": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/TaxRegistrationNumbersSnapshot"
              },
              {
                "type": "null"
              }
            ]
          },
          "tax": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RecordTaxContextOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "classifications": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicRecordClassificationsSchemaOut"
            },
            "title": "Classifications",
            "type": "array"
          },
          "transaction_ids": {
            "items": {
              "type": "integer"
            },
            "title": "Transaction Ids",
            "type": "array"
          },
          "bank_match_status": {
            "title": "Bank Match Status",
            "type": [
              "string",
              "null"
            ]
          },
          "reconciliation_status": {
            "title": "Reconciliation Status",
            "type": [
              "string",
              "null"
            ]
          },
          "created_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "updated_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "internal_id": {
            "title": "Internal Id",
            "type": "integer"
          },
          "number": {
            "title": "Number",
            "type": "integer"
          },
          "items": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicExpenseItemOut"
            },
            "title": "Items",
            "type": "array"
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "company_name": {
            "title": "Company Name",
            "type": "string"
          },
          "company_currency": {
            "title": "Company Currency",
            "type": "string"
          },
          "vendor_id": {
            "title": "Vendor Id",
            "type": "integer"
          },
          "vendor_name": {
            "title": "Vendor Name",
            "type": "string"
          },
          "account_number": {
            "title": "Account Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "amount": {
            "description": "Total transaction amount",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Amount",
            "type": "string"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "check_number": {
            "title": "Check Number",
            "type": "string"
          },
          "date": {
            "description": "Posting date (GL date) - the date when the transaction is recorded in the general ledger",
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "description": "Transaction date (inception date) - the date when the transaction actually occurred",
            "format": "date",
            "title": "Transaction Date",
            "type": "string"
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "exchange_rate": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
            "title": "Exchange Rate",
            "type": "string"
          },
          "bank_or_credit_card_amount": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Bank Or Credit Card Amount",
            "type": "string"
          },
          "payment_method_id": {
            "title": "Payment Method Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "record_status": {
            "$ref": "#/components/schemas/RecordStatus"
          },
          "has_more_lines": {
            "default": false,
            "title": "Has More Lines",
            "type": "boolean"
          },
          "lines_count": {
            "default": 0,
            "title": "Lines Count",
            "type": "integer"
          },
          "created_at": {
            "description": "Date and time the record was created",
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "updated_at": {
            "description": "Date and time the record was last updated",
            "format": "date-time",
            "title": "Updated At",
            "type": "string"
          }
        },
        "required": [
          "supply_date",
          "tax",
          "transaction_ids",
          "internal_id",
          "number",
          "company_id",
          "company_name",
          "company_currency",
          "vendor_id",
          "vendor_name",
          "account_number",
          "amount",
          "memo",
          "check_number",
          "date",
          "transaction_date",
          "currency_iso_4217_code",
          "exchange_rate",
          "bank_or_credit_card_amount",
          "record_status",
          "created_at",
          "updated_at"
        ],
        "title": "PublicDirectExpenseV2SchemaOut",
        "type": "object"
      },
      "PublicExpenseItemOut": {
        "description": "Output schema for expense line items.",
        "properties": {
          "tax": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ItemTaxDataOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "position": {
            "title": "Position",
            "type": "integer"
          },
          "account_number": {
            "title": "Account Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "expense_description": {
            "title": "Expense Description",
            "type": "string"
          },
          "rate": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
            "title": "Rate",
            "type": "string"
          },
          "quantity": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
            "title": "Quantity",
            "type": "string"
          },
          "classifications": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicRecordClassificationsSchemaOut"
            },
            "title": "Classifications",
            "type": "array"
          },
          "customer_id": {
            "title": "Customer Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "vendor_id": {
            "title": "Vendor Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "amortizable_assets": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/AmortizableAssetRefOut"
            },
            "title": "Amortizable Assets",
            "type": "array"
          },
          "fixed_assets": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/FixedAssetRefOut"
            },
            "title": "Fixed Assets",
            "type": "array"
          },
          "bank_or_credit_card_amount": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Bank Or Credit Card Amount",
            "type": "string"
          },
          "customer_name": {
            "title": "Customer Name",
            "type": [
              "string",
              "null"
            ]
          },
          "vendor_name": {
            "title": "Vendor Name",
            "type": [
              "string",
              "null"
            ]
          },
          "net_amount": {
            "description": "Net amount before tax",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "readOnly": true,
            "title": "Net Amount",
            "type": "string"
          },
          "tax_amount": {
            "description": "Calculated tax amount",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "readOnly": true,
            "title": "Tax Amount",
            "type": "string"
          },
          "gross_amount": {
            "description": "Calculated total amount including tax",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "readOnly": true,
            "title": "Gross Amount",
            "type": "string"
          },
          "amount": {
            "description": "Calculated total amount including tax named amount for backward compatibility",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "readOnly": true,
            "title": "Amount",
            "type": "string"
          }
        },
        "required": [
          "id",
          "position",
          "account_number",
          "expense_description",
          "rate",
          "quantity",
          "bank_or_credit_card_amount",
          "net_amount",
          "tax_amount",
          "gross_amount",
          "amount"
        ],
        "title": "PublicExpenseItemOut",
        "type": "object"
      },
      "PublicDirectExpenseSchemaCreateIn": {
        "description": "Input schema for creating DirectExpense records.",
        "properties": {
          "custom_fields": {
            "title": "Custom Fields",
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "title": "Transaction Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "memo": {
            "default": "",
            "title": "Memo",
            "type": "string"
          },
          "check_number": {
            "default": "",
            "title": "Check Number",
            "type": "string"
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "vendor_id": {
            "title": "Vendor Id",
            "type": "integer"
          },
          "account_number": {
            "title": "Account Number",
            "type": "integer"
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "exchange_rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
                "type": "string"
              }
            ],
            "default": "1.00",
            "title": "Exchange Rate"
          },
          "bank_or_credit_card_amount": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
                "type": "string"
              }
            ],
            "title": "Bank Or Credit Card Amount"
          },
          "items": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicExpenseItemIn"
            },
            "title": "Items",
            "type": "array"
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/AttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "payment_method_id": {
            "title": "Payment Method Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "record_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RecordStatus"
              }
            ],
            "default": "posted"
          }
        },
        "required": [
          "date",
          "company_id",
          "vendor_id",
          "account_number",
          "currency_iso_4217_code",
          "bank_or_credit_card_amount"
        ],
        "title": "PublicDirectExpenseSchemaCreateIn",
        "type": "object"
      },
      "PublicExpenseItemIn": {
        "description": "Input schema for expense line items.",
        "properties": {
          "tax": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ItemTaxData"
              },
              {
                "type": "null"
              }
            ]
          },
          "id": {
            "title": "Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "position": {
            "title": "Position",
            "type": "integer"
          },
          "account_number": {
            "title": "Account Number",
            "type": "integer"
          },
          "expense_description": {
            "default": "",
            "title": "Expense Description",
            "type": "string"
          },
          "rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
                "type": "string"
              }
            ],
            "title": "Rate"
          },
          "quantity": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
                "type": "string"
              }
            ],
            "title": "Quantity"
          },
          "classifications": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicRecordClassificationsSchemaOut"
            },
            "title": "Classifications",
            "type": "array"
          },
          "customer_id": {
            "title": "Customer Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "vendor_id": {
            "title": "Vendor Id",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "position",
          "account_number",
          "rate",
          "quantity"
        ],
        "title": "PublicExpenseItemIn",
        "type": "object"
      },
      "PublicDirectExpenseSchemaUpdateIn": {
        "description": "Input schema for updating DirectExpense records.",
        "properties": {
          "custom_fields": {
            "title": "Custom Fields",
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "title": "Transaction Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "memo": {
            "default": "",
            "title": "Memo",
            "type": "string"
          },
          "check_number": {
            "default": "",
            "title": "Check Number",
            "type": "string"
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "vendor_id": {
            "title": "Vendor Id",
            "type": "integer"
          },
          "account_number": {
            "title": "Account Number",
            "type": "integer"
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "exchange_rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
                "type": "string"
              }
            ],
            "default": "1.00",
            "title": "Exchange Rate"
          },
          "bank_or_credit_card_amount": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
                "type": "string"
              }
            ],
            "title": "Bank Or Credit Card Amount"
          },
          "items": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicExpenseItemIn"
            },
            "title": "Items",
            "type": "array"
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/AttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "payment_method_id": {
            "title": "Payment Method Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "record_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RecordStatus"
              }
            ],
            "default": "posted"
          }
        },
        "required": [
          "date",
          "company_id",
          "vendor_id",
          "account_number",
          "currency_iso_4217_code",
          "bank_or_credit_card_amount"
        ],
        "title": "PublicDirectExpenseSchemaUpdateIn",
        "type": "object"
      },
      "PagedPublicExpenseItemOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicExpenseItemOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicExpenseItemOut",
        "type": "object"
      },
      "PublicBankTransferListFilterSchema": {
        "properties": {
          "search": {
            "title": "Search",
            "type": [
              "string",
              "null"
            ]
          },
          "company_id": {
            "q": "company_id__in",
            "title": "Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "number": {
            "q": "number__in",
            "title": "Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "start_date": {
            "q": "transaction__date__gte",
            "title": "Start Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "end_date": {
            "q": "transaction__date__lte",
            "title": "End Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "debit_bank_account_number": {
            "title": "Debit Bank Account Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "credit_bank_account_number": {
            "title": "Credit Bank Account Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "record_status": {
            "q": "transaction__record_status__in",
            "title": "Record Status",
            "items": {
              "$ref": "#/components/schemas/RecordStatus"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "approval_status": {
            "title": "Approval Status",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "approval_status_scope": {
            "title": "Approval Status Scope",
            "items": {
              "$ref": "#/components/schemas/RecordStatus"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "updated_after": {
            "q": "updated_at__gte",
            "title": "Updated After",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_before": {
            "q": "updated_at__lte",
            "title": "Updated Before",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "title": "PublicBankTransferListFilterSchema",
        "type": "object"
      },
      "PagedPublicBankTransferSchemaOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicBankTransferSchemaOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicBankTransferSchemaOut",
        "type": "object"
      },
      "PublicBankTransferSchemaOut": {
        "properties": {
          "bank_match_status": {
            "title": "Bank Match Status",
            "type": [
              "string",
              "null"
            ]
          },
          "reconciliation_status": {
            "title": "Reconciliation Status",
            "type": [
              "string",
              "null"
            ]
          },
          "created_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "updated_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "internal_id": {
            "title": "Internal Id",
            "type": "integer"
          },
          "number": {
            "title": "Number",
            "type": "integer"
          },
          "transaction_id": {
            "title": "Transaction Id",
            "type": "integer"
          },
          "debit_entry_id": {
            "title": "Debit Entry Id",
            "type": "integer"
          },
          "credit_entry_id": {
            "title": "Credit Entry Id",
            "type": "integer"
          },
          "date": {
            "description": "Posting date (GL date) - the date when the transaction is recorded in the general ledger",
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "description": "Transaction date (inception date) - the date when the transaction actually occurred",
            "format": "date",
            "title": "Transaction Date",
            "type": "string"
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "company_name": {
            "title": "Company Name",
            "type": "string"
          },
          "company_currency": {
            "title": "Company Currency",
            "type": "string"
          },
          "debit_bank_account_number": {
            "title": "Debit Bank Account Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "credit_bank_account_number": {
            "title": "Credit Bank Account Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "amount": {
            "description": "Transfer amount",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Amount",
            "type": "string"
          },
          "exchange_rate": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
            "title": "Exchange Rate",
            "type": "string"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "record_status": {
            "$ref": "#/components/schemas/RecordStatus"
          },
          "currency_iso_4217_code": {
            "default": [],
            "items": {
              "type": "string"
            },
            "title": "Currency Iso 4217 Code",
            "type": "array"
          },
          "created_at": {
            "description": "Date and time the record was created",
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "updated_at": {
            "description": "Date and time the record was last updated",
            "format": "date-time",
            "title": "Updated At",
            "type": "string"
          }
        },
        "required": [
          "internal_id",
          "number",
          "transaction_id",
          "debit_entry_id",
          "credit_entry_id",
          "date",
          "transaction_date",
          "company_id",
          "company_name",
          "company_currency",
          "debit_bank_account_number",
          "credit_bank_account_number",
          "amount",
          "exchange_rate",
          "memo",
          "record_status",
          "created_at",
          "updated_at"
        ],
        "title": "PublicBankTransferSchemaOut",
        "type": "object"
      },
      "PublicBankTransferSchemaCreateIn": {
        "description": "Input schema for creating BankTransfer records.",
        "properties": {
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "title": "Transaction Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "debit_bank_account_number": {
            "title": "Debit Bank Account Number",
            "type": "integer"
          },
          "credit_bank_account_number": {
            "title": "Credit Bank Account Number",
            "type": "integer"
          },
          "amount": {
            "anyOf": [
              {
                "exclusiveMinimum": 0,
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
                "type": "string"
              }
            ],
            "title": "Amount"
          },
          "exchange_rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
                "type": "string"
              }
            ],
            "default": "1.00",
            "title": "Exchange Rate"
          },
          "memo": {
            "default": "",
            "title": "Memo",
            "type": "string"
          },
          "record_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RecordStatus"
              }
            ],
            "default": "posted"
          }
        },
        "required": [
          "date",
          "company_id",
          "debit_bank_account_number",
          "credit_bank_account_number",
          "amount"
        ],
        "title": "PublicBankTransferSchemaCreateIn",
        "type": "object"
      },
      "PublicBankTransferSchemaUpdateIn": {
        "description": "Input schema for updating BankTransfer records.",
        "properties": {
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "title": "Transaction Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "debit_bank_account_number": {
            "title": "Debit Bank Account Number",
            "type": "integer"
          },
          "credit_bank_account_number": {
            "title": "Credit Bank Account Number",
            "type": "integer"
          },
          "amount": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
                "type": "string"
              }
            ],
            "title": "Amount"
          },
          "exchange_rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
                "type": "string"
              }
            ],
            "default": "1.00",
            "title": "Exchange Rate"
          },
          "memo": {
            "default": "",
            "title": "Memo",
            "type": "string"
          },
          "record_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RecordStatus"
              }
            ],
            "default": "posted"
          }
        },
        "required": [
          "date",
          "company_id",
          "debit_bank_account_number",
          "credit_bank_account_number",
          "amount"
        ],
        "title": "PublicBankTransferSchemaUpdateIn",
        "type": "object"
      },
      "PublicStatisticalJournalV2ListFilterSchema": {
        "properties": {
          "search": {
            "title": "Search",
            "type": [
              "string",
              "null"
            ]
          },
          "number": {
            "q": "number__in",
            "title": "Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "company_id": {
            "q": "statistical_journal_lines__classifications__company_id__in",
            "title": "Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "account_id": {
            "q": "account_id__in",
            "title": "Account Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "account_number": {
            "q": "account__number__in",
            "title": "Account Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "line_account_id": {
            "q": "statistical_journal_lines__classifications__account_id__in",
            "title": "Line Account Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "line_account_number": {
            "q": "statistical_journal_lines__classifications__account__number__in",
            "title": "Line Account Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "period_start": {
            "q": "period__gte",
            "title": "Period Start",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "period_end": {
            "q": "period__lte",
            "title": "Period End",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "date_start": {
            "q": "date__gte",
            "title": "Date Start",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "date_end": {
            "q": "date__lte",
            "title": "Date End",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "record_status": {
            "q": "record_status__in",
            "title": "Record Status",
            "items": {
              "$ref": "#/components/schemas/RecordStatus"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "updated_after": {
            "q": "updated_at__gte",
            "title": "Updated After",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_before": {
            "q": "updated_at__lte",
            "title": "Updated Before",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "title": "PublicStatisticalJournalV2ListFilterSchema",
        "type": "object"
      },
      "PagedPublicStatisticalJournalV2ListSchemaOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicStatisticalJournalV2ListSchemaOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicStatisticalJournalV2ListSchemaOut",
        "type": "object"
      },
      "PublicStatisticalJournalV2ListSchemaOut": {
        "properties": {
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "number": {
            "title": "Number",
            "type": "integer"
          },
          "account_id": {
            "title": "Account Id",
            "type": "integer"
          },
          "account_name": {
            "title": "Account Name",
            "type": "string"
          },
          "account_number": {
            "title": "Account Number",
            "type": "integer"
          },
          "period": {
            "format": "date",
            "title": "Period",
            "type": "string"
          },
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "record_status": {
            "$ref": "#/components/schemas/RecordStatus"
          },
          "total_quantity": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
            "title": "Total Quantity",
            "type": "string"
          },
          "unique_account_count": {
            "title": "Unique Account Count",
            "type": "integer"
          },
          "unique_company_count": {
            "title": "Unique Company Count",
            "type": "integer"
          },
          "created_at": {
            "description": "Date and time the record was created",
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "updated_at": {
            "description": "Date and time the record was last updated",
            "format": "date-time",
            "title": "Updated At",
            "type": "string"
          }
        },
        "required": [
          "id",
          "number",
          "account_id",
          "account_name",
          "account_number",
          "period",
          "date",
          "memo",
          "record_status",
          "total_quantity",
          "unique_account_count",
          "unique_company_count",
          "created_at",
          "updated_at"
        ],
        "title": "PublicStatisticalJournalV2ListSchemaOut",
        "type": "object"
      },
      "PublicStatisticalJournalLineClassificationSchemaOut": {
        "properties": {
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "line_id": {
            "title": "Line Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "line_name": {
            "title": "Line Name",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "name"
        ],
        "title": "PublicStatisticalJournalLineClassificationSchemaOut",
        "type": "object"
      },
      "PublicStatisticalJournalLineSchemaOut": {
        "properties": {
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "company_id": {
            "title": "Company Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "company_name": {
            "title": "Company Name",
            "type": [
              "string",
              "null"
            ]
          },
          "account_id": {
            "title": "Account Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "account_name": {
            "title": "Account Name",
            "type": [
              "string",
              "null"
            ]
          },
          "account_number": {
            "title": "Account Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "value": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
            "title": "Value",
            "type": "string"
          },
          "position": {
            "title": "Position",
            "type": "integer"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "classifications": {
            "items": {
              "$ref": "#/components/schemas/PublicStatisticalJournalLineClassificationSchemaOut"
            },
            "title": "Classifications",
            "type": "array"
          }
        },
        "required": [
          "id",
          "value",
          "position",
          "memo",
          "classifications"
        ],
        "title": "PublicStatisticalJournalLineSchemaOut",
        "type": "object"
      },
      "PublicStatisticalJournalV2SchemaOut": {
        "properties": {
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "number": {
            "title": "Number",
            "type": "integer"
          },
          "account_id": {
            "title": "Account Id",
            "type": "integer"
          },
          "account_name": {
            "title": "Account Name",
            "type": "string"
          },
          "account_number": {
            "title": "Account Number",
            "type": "integer"
          },
          "period": {
            "format": "date",
            "title": "Period",
            "type": "string"
          },
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "record_status": {
            "$ref": "#/components/schemas/RecordStatus"
          },
          "total_quantity": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
            "title": "Total Quantity",
            "type": "string"
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicAttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "items": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicStatisticalJournalLineSchemaOut"
            },
            "title": "Items",
            "type": "array"
          },
          "has_more_lines": {
            "default": false,
            "title": "Has More Lines",
            "type": "boolean"
          },
          "lines_count": {
            "default": 0,
            "title": "Lines Count",
            "type": "integer"
          },
          "created_at": {
            "description": "Date and time the record was created",
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "updated_at": {
            "description": "Date and time the record was last updated",
            "format": "date-time",
            "title": "Updated At",
            "type": "string"
          }
        },
        "required": [
          "id",
          "number",
          "account_id",
          "account_name",
          "account_number",
          "period",
          "date",
          "memo",
          "record_status",
          "total_quantity",
          "created_at",
          "updated_at"
        ],
        "title": "PublicStatisticalJournalV2SchemaOut",
        "type": "object"
      },
      "PublicStatisticalJournalClassificationSchemaIn": {
        "properties": {
          "id": {
            "title": "Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "line_id": {
            "title": "Line Id",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "title": "PublicStatisticalJournalClassificationSchemaIn",
        "type": "object"
      },
      "PublicStatisticalJournalLineSchemaIn": {
        "properties": {
          "id": {
            "title": "Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "account_id": {
            "title": "Account Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "value": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
                "type": "string"
              }
            ],
            "title": "Value"
          },
          "position": {
            "default": 1,
            "title": "Position",
            "type": "integer"
          },
          "memo": {
            "default": "",
            "title": "Memo",
            "type": "string"
          },
          "classifications": {
            "items": {
              "$ref": "#/components/schemas/PublicStatisticalJournalClassificationSchemaIn"
            },
            "title": "Classifications",
            "type": "array"
          }
        },
        "required": [
          "value"
        ],
        "title": "PublicStatisticalJournalLineSchemaIn",
        "type": "object"
      },
      "PublicStatisticalJournalSchemaCreateIn": {
        "properties": {
          "account_id": {
            "title": "Account Id",
            "type": "integer"
          },
          "date": {
            "title": "Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "memo": {
            "default": "",
            "title": "Memo",
            "type": "string"
          },
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicStatisticalJournalLineSchemaIn"
            },
            "title": "Items",
            "type": "array"
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/AttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "record_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RecordStatus"
              }
            ],
            "default": "posted"
          }
        },
        "required": [
          "account_id"
        ],
        "title": "PublicStatisticalJournalSchemaCreateIn",
        "type": "object"
      },
      "PublicStatisticalJournalSchemaUpdateIn": {
        "properties": {
          "account_id": {
            "title": "Account Id",
            "type": "integer"
          },
          "date": {
            "title": "Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "memo": {
            "default": "",
            "title": "Memo",
            "type": "string"
          },
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicStatisticalJournalLineSchemaIn"
            },
            "title": "Items",
            "type": "array"
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/AttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "record_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RecordStatus"
              }
            ],
            "default": "posted"
          }
        },
        "required": [
          "account_id"
        ],
        "title": "PublicStatisticalJournalSchemaUpdateIn",
        "type": "object"
      },
      "PagedPublicStatisticalJournalLineSchemaOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicStatisticalJournalLineSchemaOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicStatisticalJournalLineSchemaOut",
        "type": "object"
      },
      "PublicRecurringInvoiceListFilterSchema": {
        "properties": {
          "search": {
            "title": "Search",
            "type": [
              "string",
              "null"
            ]
          },
          "company_id": {
            "q": "company_id__in",
            "title": "Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "number": {
            "q": "number__in",
            "title": "Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "recurring_type": {
            "q": "recurring_type__in",
            "title": "Recurring Type",
            "items": {
              "$ref": "#/components/schemas/RecurringType"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "updated_after": {
            "q": "updated_at__gte",
            "title": "Updated After",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_before": {
            "q": "updated_at__lte",
            "title": "Updated Before",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "title": "PublicRecurringInvoiceListFilterSchema",
        "type": "object"
      },
      "RecurringType": {
        "enum": [
          "automatic",
          "reminder"
        ],
        "title": "RecurringType",
        "type": "string"
      },
      "PagedPublicRecurringInvoiceSchemaOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicRecurringInvoiceSchemaOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicRecurringInvoiceSchemaOut",
        "type": "object"
      },
      "PublicRecurringInvoiceSchemaOut": {
        "properties": {
          "created_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "updated_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "internal_id": {
            "title": "Internal Id",
            "type": "integer"
          },
          "number": {
            "title": "Number",
            "type": "integer"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "company_name": {
            "title": "Company Name",
            "type": "string"
          },
          "company_currency": {
            "title": "Company Currency",
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/RecurringStatus"
          },
          "record_payload": {
            "title": "Record Payload"
          },
          "rrule": {
            "title": "Rrule",
            "type": "string"
          },
          "next_occurrence": {
            "title": "Next Occurrence",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "last_generated": {
            "title": "Last Generated",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "recurring_type": {
            "$ref": "#/components/schemas/RecurringType"
          },
          "records": {
            "items": {
              "$ref": "#/components/schemas/PublicRecurringRecordSchemaOut"
            },
            "title": "Records",
            "type": "array"
          },
          "created_at": {
            "description": "Date and time the record was created",
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "updated_at": {
            "description": "Date and time the record was last updated",
            "format": "date-time",
            "title": "Updated At",
            "type": "string"
          }
        },
        "required": [
          "internal_id",
          "number",
          "name",
          "memo",
          "date",
          "company_id",
          "company_name",
          "company_currency",
          "status",
          "record_payload",
          "rrule",
          "next_occurrence",
          "last_generated",
          "recurring_type",
          "records",
          "created_at",
          "updated_at"
        ],
        "title": "PublicRecurringInvoiceSchemaOut",
        "type": "object"
      },
      "PublicRecurringRecordSchemaOut": {
        "properties": {
          "internal_id": {
            "title": "Internal Id",
            "type": "integer"
          },
          "number": {
            "title": "Number",
            "type": "integer"
          },
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "amount": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Amount",
            "type": "string"
          },
          "record_status": {
            "$ref": "#/components/schemas/RecordStatus"
          }
        },
        "required": [
          "internal_id",
          "number",
          "date",
          "amount",
          "record_status"
        ],
        "title": "PublicRecurringRecordSchemaOut",
        "type": "object"
      },
      "RecurringStatus": {
        "enum": [
          "active",
          "inactive"
        ],
        "title": "RecurringStatus",
        "type": "string"
      },
      "PublicRecurringInvoiceSchemaCreateIn": {
        "properties": {
          "rrule": {
            "description": "Recurrence rule in iCalendar RRULE format (RFC 5545)",
            "examples": [
              "FREQ=DAILY",
              "FREQ=WEEKLY;BYDAY=MO,WE,FR",
              "FREQ=MONTHLY;BYMONTHDAY=15",
              "FREQ=YEARLY;BYMONTH=12;BYMONTHDAY=25",
              "FREQ=MONTHLY;BYDAY=1MO",
              "FREQ=WEEKLY;INTERVAL=2;BYDAY=TU,TH",
              "FREQ=MONTHLY;BYMONTHDAY=1;COUNT=12",
              "FREQ=DAILY;UNTIL=20241231T235959Z",
              "FREQ=WEEKLY;WKST=SU;BYDAY=MO,TU,WE,TH,FR"
            ],
            "format": "rrule",
            "maxLength": 500,
            "minLength": 8,
            "pattern": "^FREQ=(DAILY|WEEKLY|MONTHLY|YEARLY)(?:;.*)?$",
            "title": "Rrule",
            "type": "string"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "status": {
            "$ref": "#/components/schemas/RecurringStatus"
          },
          "recurring_type": {
            "$ref": "#/components/schemas/RecurringType"
          },
          "record_payload": {
            "$ref": "#/components/schemas/PublicInvoiceSchemaCreateIn"
          }
        },
        "required": [
          "rrule",
          "memo",
          "name",
          "date",
          "company_id",
          "status",
          "recurring_type",
          "record_payload"
        ],
        "title": "PublicRecurringInvoiceSchemaCreateIn",
        "type": "object"
      },
      "PublicRecurringInvoiceSchemaUpdateIn": {
        "properties": {
          "rrule": {
            "description": "Recurrence rule in iCalendar RRULE format (RFC 5545)",
            "examples": [
              "FREQ=DAILY",
              "FREQ=WEEKLY;BYDAY=MO,WE,FR",
              "FREQ=MONTHLY;BYMONTHDAY=15",
              "FREQ=YEARLY;BYMONTH=12;BYMONTHDAY=25",
              "FREQ=MONTHLY;BYDAY=1MO",
              "FREQ=WEEKLY;INTERVAL=2;BYDAY=TU,TH",
              "FREQ=MONTHLY;BYMONTHDAY=1;COUNT=12",
              "FREQ=DAILY;UNTIL=20241231T235959Z",
              "FREQ=WEEKLY;WKST=SU;BYDAY=MO,TU,WE,TH,FR"
            ],
            "format": "rrule",
            "maxLength": 500,
            "minLength": 8,
            "pattern": "^FREQ=(DAILY|WEEKLY|MONTHLY|YEARLY)(?:;.*)?$",
            "title": "Rrule",
            "type": "string"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "status": {
            "$ref": "#/components/schemas/RecurringStatus"
          },
          "recurring_type": {
            "$ref": "#/components/schemas/RecurringType"
          },
          "record_payload": {
            "$ref": "#/components/schemas/PublicInvoiceSchemaCreateIn"
          }
        },
        "required": [
          "rrule",
          "memo",
          "name",
          "date",
          "company_id",
          "status",
          "recurring_type",
          "record_payload"
        ],
        "title": "PublicRecurringInvoiceSchemaUpdateIn",
        "type": "object"
      },
      "SuccessSchema": {
        "properties": {
          "success": {
            "const": true,
            "default": true,
            "title": "Success",
            "type": "boolean"
          },
          "errors": {
            "additionalProperties": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "title": "Errors",
            "type": "object"
          }
        },
        "title": "SuccessSchema",
        "type": "object"
      },
      "PublicRecurringBillListFilterSchema": {
        "properties": {
          "search": {
            "title": "Search",
            "type": [
              "string",
              "null"
            ]
          },
          "company_id": {
            "q": "company_id__in",
            "title": "Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "number": {
            "q": "number__in",
            "title": "Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "recurring_type": {
            "q": "recurring_type__in",
            "title": "Recurring Type",
            "items": {
              "$ref": "#/components/schemas/RecurringType"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "updated_after": {
            "q": "updated_at__gte",
            "title": "Updated After",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_before": {
            "q": "updated_at__lte",
            "title": "Updated Before",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "title": "PublicRecurringBillListFilterSchema",
        "type": "object"
      },
      "PagedPublicRecurringBillSchemaOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicRecurringBillSchemaOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicRecurringBillSchemaOut",
        "type": "object"
      },
      "PublicRecurringBillSchemaOut": {
        "properties": {
          "created_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "updated_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "internal_id": {
            "title": "Internal Id",
            "type": "integer"
          },
          "number": {
            "title": "Number",
            "type": "integer"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "company_name": {
            "title": "Company Name",
            "type": "string"
          },
          "company_currency": {
            "title": "Company Currency",
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/RecurringStatus"
          },
          "record_payload": {
            "title": "Record Payload"
          },
          "rrule": {
            "title": "Rrule",
            "type": "string"
          },
          "next_occurrence": {
            "title": "Next Occurrence",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "last_generated": {
            "title": "Last Generated",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "recurring_type": {
            "$ref": "#/components/schemas/RecurringType"
          },
          "records": {
            "items": {
              "$ref": "#/components/schemas/PublicRecurringRecordSchemaOut"
            },
            "title": "Records",
            "type": "array"
          },
          "created_at": {
            "description": "Date and time the record was created",
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "updated_at": {
            "description": "Date and time the record was last updated",
            "format": "date-time",
            "title": "Updated At",
            "type": "string"
          }
        },
        "required": [
          "internal_id",
          "number",
          "name",
          "memo",
          "date",
          "company_id",
          "company_name",
          "company_currency",
          "status",
          "record_payload",
          "rrule",
          "next_occurrence",
          "last_generated",
          "recurring_type",
          "records",
          "created_at",
          "updated_at"
        ],
        "title": "PublicRecurringBillSchemaOut",
        "type": "object"
      },
      "PublicRecurringBillSchemaCreateIn": {
        "properties": {
          "rrule": {
            "description": "Recurrence rule in iCalendar RRULE format (RFC 5545)",
            "examples": [
              "FREQ=DAILY",
              "FREQ=WEEKLY;BYDAY=MO,WE,FR",
              "FREQ=MONTHLY;BYMONTHDAY=15",
              "FREQ=YEARLY;BYMONTH=12;BYMONTHDAY=25",
              "FREQ=MONTHLY;BYDAY=1MO",
              "FREQ=WEEKLY;INTERVAL=2;BYDAY=TU,TH",
              "FREQ=MONTHLY;BYMONTHDAY=1;COUNT=12",
              "FREQ=DAILY;UNTIL=20241231T235959Z",
              "FREQ=WEEKLY;WKST=SU;BYDAY=MO,TU,WE,TH,FR"
            ],
            "format": "rrule",
            "maxLength": 500,
            "minLength": 8,
            "pattern": "^FREQ=(DAILY|WEEKLY|MONTHLY|YEARLY)(?:;.*)?$",
            "title": "Rrule",
            "type": "string"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "status": {
            "$ref": "#/components/schemas/RecurringStatus"
          },
          "recurring_type": {
            "$ref": "#/components/schemas/RecurringType"
          },
          "record_payload": {
            "$ref": "#/components/schemas/PublicBillSchemaCreateIn"
          }
        },
        "required": [
          "rrule",
          "memo",
          "name",
          "date",
          "company_id",
          "status",
          "recurring_type",
          "record_payload"
        ],
        "title": "PublicRecurringBillSchemaCreateIn",
        "type": "object"
      },
      "PublicRecurringBillSchemaUpdateIn": {
        "properties": {
          "rrule": {
            "description": "Recurrence rule in iCalendar RRULE format (RFC 5545)",
            "examples": [
              "FREQ=DAILY",
              "FREQ=WEEKLY;BYDAY=MO,WE,FR",
              "FREQ=MONTHLY;BYMONTHDAY=15",
              "FREQ=YEARLY;BYMONTH=12;BYMONTHDAY=25",
              "FREQ=MONTHLY;BYDAY=1MO",
              "FREQ=WEEKLY;INTERVAL=2;BYDAY=TU,TH",
              "FREQ=MONTHLY;BYMONTHDAY=1;COUNT=12",
              "FREQ=DAILY;UNTIL=20241231T235959Z",
              "FREQ=WEEKLY;WKST=SU;BYDAY=MO,TU,WE,TH,FR"
            ],
            "format": "rrule",
            "maxLength": 500,
            "minLength": 8,
            "pattern": "^FREQ=(DAILY|WEEKLY|MONTHLY|YEARLY)(?:;.*)?$",
            "title": "Rrule",
            "type": "string"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "status": {
            "$ref": "#/components/schemas/RecurringStatus"
          },
          "recurring_type": {
            "$ref": "#/components/schemas/RecurringType"
          },
          "record_payload": {
            "$ref": "#/components/schemas/PublicBillSchemaCreateIn"
          }
        },
        "required": [
          "rrule",
          "memo",
          "name",
          "date",
          "company_id",
          "status",
          "recurring_type",
          "record_payload"
        ],
        "title": "PublicRecurringBillSchemaUpdateIn",
        "type": "object"
      },
      "PublicRecurringJournalEntryListFilterSchema": {
        "properties": {
          "search": {
            "title": "Search",
            "type": [
              "string",
              "null"
            ]
          },
          "company_id": {
            "q": "company_id__in",
            "title": "Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "number": {
            "q": "number__in",
            "title": "Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "recurring_type": {
            "q": "recurring_type__in",
            "title": "Recurring Type",
            "items": {
              "$ref": "#/components/schemas/RecurringType"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "updated_after": {
            "q": "updated_at__gte",
            "title": "Updated After",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_before": {
            "q": "updated_at__lte",
            "title": "Updated Before",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "title": "PublicRecurringJournalEntryListFilterSchema",
        "type": "object"
      },
      "PagedPublicRecurringJournalEntrySchemaOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicRecurringJournalEntrySchemaOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicRecurringJournalEntrySchemaOut",
        "type": "object"
      },
      "PublicRecurringJournalEntrySchemaOut": {
        "properties": {
          "created_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "updated_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "internal_id": {
            "title": "Internal Id",
            "type": "integer"
          },
          "number": {
            "title": "Number",
            "type": "integer"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "company_name": {
            "title": "Company Name",
            "type": "string"
          },
          "company_currency": {
            "title": "Company Currency",
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/RecurringStatus"
          },
          "record_payload": {
            "title": "Record Payload"
          },
          "rrule": {
            "title": "Rrule",
            "type": "string"
          },
          "next_occurrence": {
            "title": "Next Occurrence",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "last_generated": {
            "title": "Last Generated",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "recurring_type": {
            "$ref": "#/components/schemas/RecurringType"
          },
          "records": {
            "items": {
              "$ref": "#/components/schemas/PublicRecurringRecordSchemaOut"
            },
            "title": "Records",
            "type": "array"
          },
          "created_at": {
            "description": "Date and time the record was created",
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "updated_at": {
            "description": "Date and time the record was last updated",
            "format": "date-time",
            "title": "Updated At",
            "type": "string"
          }
        },
        "required": [
          "internal_id",
          "number",
          "name",
          "memo",
          "date",
          "company_id",
          "company_name",
          "company_currency",
          "status",
          "record_payload",
          "rrule",
          "next_occurrence",
          "last_generated",
          "recurring_type",
          "records",
          "created_at",
          "updated_at"
        ],
        "title": "PublicRecurringJournalEntrySchemaOut",
        "type": "object"
      },
      "PublicRecurringJournalEntrySchemaCreateIn": {
        "properties": {
          "rrule": {
            "description": "Recurrence rule in iCalendar RRULE format (RFC 5545)",
            "examples": [
              "FREQ=DAILY",
              "FREQ=WEEKLY;BYDAY=MO,WE,FR",
              "FREQ=MONTHLY;BYMONTHDAY=15",
              "FREQ=YEARLY;BYMONTH=12;BYMONTHDAY=25",
              "FREQ=MONTHLY;BYDAY=1MO",
              "FREQ=WEEKLY;INTERVAL=2;BYDAY=TU,TH",
              "FREQ=MONTHLY;BYMONTHDAY=1;COUNT=12",
              "FREQ=DAILY;UNTIL=20241231T235959Z",
              "FREQ=WEEKLY;WKST=SU;BYDAY=MO,TU,WE,TH,FR"
            ],
            "format": "rrule",
            "maxLength": 500,
            "minLength": 8,
            "pattern": "^FREQ=(DAILY|WEEKLY|MONTHLY|YEARLY)(?:;.*)?$",
            "title": "Rrule",
            "type": "string"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "status": {
            "$ref": "#/components/schemas/RecurringStatus"
          },
          "recurring_type": {
            "$ref": "#/components/schemas/RecurringType"
          },
          "record_payload": {
            "$ref": "#/components/schemas/PublicJournalEntrySchemaCreateIn"
          }
        },
        "required": [
          "rrule",
          "memo",
          "name",
          "date",
          "company_id",
          "status",
          "recurring_type",
          "record_payload"
        ],
        "title": "PublicRecurringJournalEntrySchemaCreateIn",
        "type": "object"
      },
      "PublicRecurringJournalEntrySchemaUpdateIn": {
        "properties": {
          "rrule": {
            "description": "Recurrence rule in iCalendar RRULE format (RFC 5545)",
            "examples": [
              "FREQ=DAILY",
              "FREQ=WEEKLY;BYDAY=MO,WE,FR",
              "FREQ=MONTHLY;BYMONTHDAY=15",
              "FREQ=YEARLY;BYMONTH=12;BYMONTHDAY=25",
              "FREQ=MONTHLY;BYDAY=1MO",
              "FREQ=WEEKLY;INTERVAL=2;BYDAY=TU,TH",
              "FREQ=MONTHLY;BYMONTHDAY=1;COUNT=12",
              "FREQ=DAILY;UNTIL=20241231T235959Z",
              "FREQ=WEEKLY;WKST=SU;BYDAY=MO,TU,WE,TH,FR"
            ],
            "format": "rrule",
            "maxLength": 500,
            "minLength": 8,
            "pattern": "^FREQ=(DAILY|WEEKLY|MONTHLY|YEARLY)(?:;.*)?$",
            "title": "Rrule",
            "type": "string"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "status": {
            "$ref": "#/components/schemas/RecurringStatus"
          },
          "recurring_type": {
            "$ref": "#/components/schemas/RecurringType"
          },
          "record_payload": {
            "$ref": "#/components/schemas/PublicJournalEntrySchemaCreateIn"
          }
        },
        "required": [
          "rrule",
          "memo",
          "name",
          "date",
          "company_id",
          "status",
          "recurring_type",
          "record_payload"
        ],
        "title": "PublicRecurringJournalEntrySchemaUpdateIn",
        "type": "object"
      },
      "PublicCompanyListFilterSchema": {
        "properties": {
          "search": {
            "title": "Search",
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "q": "id__in",
            "title": "Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "name": {
            "q": "name__icontains",
            "title": "Name",
            "type": [
              "string",
              "null"
            ]
          },
          "parent_company_id": {
            "q": "parent_company_id__in",
            "title": "Parent Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "currency_iso_4217_code": {
            "q": "currency_iso_4217_code__in",
            "title": "Currency Iso 4217 Code",
            "items": {
              "$ref": "#/components/schemas/SystemCurrencies"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "is_active": {
            "title": "Is Active",
            "type": [
              "boolean",
              "null"
            ]
          },
          "is_elimination": {
            "title": "Is Elimination",
            "type": [
              "boolean",
              "null"
            ]
          }
        },
        "title": "PublicCompanyListFilterSchema",
        "type": "object"
      },
      "CompanySchemaOut": {
        "properties": {
          "vat_registration_numbers": {
            "items": {
              "$ref": "#/components/schemas/VatRegistrationItemSchemaOut"
            },
            "title": "Vat Registration Numbers",
            "type": "array"
          },
          "created_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "updated_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "parent_company_id": {
            "title": "Parent Company Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies",
            "description": "The ISO 4217 code of the currency of the company."
          },
          "address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaOut"
              },
              {
                "type": "null"
              }
            ],
            "description": "Company address. Null when no address is on file."
          },
          "tin": {
            "default": "",
            "description": "Tax Identification Number. Empty string when unset.",
            "title": "Tin",
            "type": "string"
          },
          "tin_type": {
            "default": "",
            "description": "Type of TIN (ein, ssn, utr). Empty string when unset.",
            "title": "Tin Type",
            "type": "string"
          },
          "is_active": {
            "description": "Whether the company is active.",
            "title": "Is Active",
            "type": "boolean"
          },
          "is_elimination": {
            "description": "Whether the company is an elimination company.",
            "title": "Is Elimination",
            "type": "boolean"
          },
          "fiscal_year_end_month": {
            "description": "Fiscal year end month (1=January, 12=December).",
            "title": "Fiscal Year End Month",
            "type": "integer"
          }
        },
        "required": [
          "id",
          "name",
          "parent_company_id",
          "currency_iso_4217_code",
          "is_active",
          "is_elimination",
          "fiscal_year_end_month"
        ],
        "title": "CompanySchemaOut",
        "type": "object"
      },
      "PagedCompanySchemaOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/CompanySchemaOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedCompanySchemaOut",
        "type": "object"
      },
      "VatRegistrationItemSchemaOut": {
        "properties": {
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "country": {
            "title": "Country",
            "type": "string"
          },
          "registration_number": {
            "title": "Registration Number",
            "type": "string"
          }
        },
        "required": [
          "id",
          "country",
          "registration_number"
        ],
        "title": "VatRegistrationItemSchemaOut",
        "type": "object"
      },
      "PublicAccountListFilterSchema": {
        "description": "Public API filter schema for the Chart of Accounts list endpoint; reuses internal filter surface.",
        "properties": {
          "integration_sources": {
            "title": "Integration Sources",
            "items": {
              "$ref": "#/components/schemas/IntegrationSourceSlug"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "search": {
            "title": "Search",
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "q": "id__in",
            "title": "Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "name": {
            "q": "name__icontains",
            "title": "Name",
            "type": [
              "string",
              "null"
            ]
          },
          "description": {
            "q": "description__icontains",
            "title": "Description",
            "type": [
              "string",
              "null"
            ]
          },
          "number": {
            "q": "number__icontains",
            "title": "Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "account_types": {
            "q": "account_type__in",
            "title": "Account Types",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "excluded_account_types": {
            "description": "Account types to exclude from the response. Combines with account_types (include set minus excluded set).",
            "title": "Excluded Account Types",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "is_active": {
            "title": "Is Active",
            "type": [
              "boolean",
              "null"
            ]
          },
          "is_system": {
            "title": "Is System",
            "type": [
              "boolean",
              "null"
            ]
          },
          "is_monetary": {
            "title": "Is Monetary",
            "type": [
              "boolean",
              "null"
            ]
          },
          "company_id": {
            "description": "Only filters by company_id field used in Bank and Credit Card accounts.",
            "title": "Company Id",
            "items": {
              "anyOf": [
                {
                  "type": "integer"
                },
                {
                  "const": "null",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            },
            "uniqueItems": true,
            "type": [
              "array",
              "null"
            ]
          },
          "parent_account_id": {
            "title": "Parent Account Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "financial_account_id": {
            "description": "Only filters by financial_account_id field used in Bank and Credit Card accounts.",
            "title": "Financial Account Id",
            "items": {
              "anyOf": [
                {
                  "type": "integer"
                },
                {
                  "const": "null",
                  "type": "string"
                }
              ]
            },
            "uniqueItems": true,
            "type": [
              "array",
              "null"
            ]
          },
          "no_financial_account": {
            "q": "financial_account__isnull",
            "title": "No Financial Account",
            "type": [
              "boolean",
              "null"
            ]
          },
          "currency_iso_4217_code": {
            "title": "Currency Iso 4217 Code",
            "items": {
              "$ref": "#/components/schemas/SystemCurrencies"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "category_1099": {
            "q": "category_1099__in",
            "title": "Category 1099",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "should_sync_pending": {
            "title": "Should Sync Pending",
            "type": [
              "boolean",
              "null"
            ]
          },
          "company_id_access": {
            "description": "A combined filter by company_id_access, and the company_id field used in Bank and Credit Card accounts.",
            "title": "Company Id Access",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "numbers": {
            "q": "number__in",
            "title": "Numbers",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "names": {
            "q": "name__in",
            "title": "Names",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "system_ref": {
            "q": "system_ref__in",
            "title": "System Ref",
            "items": {
              "$ref": "#/components/schemas/SystemAccountNames"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "exclude_mapped_to_other_companies": {
            "description": "When set to a company_id, only returns accounts that are completely unmapped (no company_id and no AccountCompanyAccess). Used during migration to avoid selecting accounts already mapped to any company.",
            "title": "Exclude Mapped To Other Companies",
            "type": [
              "integer",
              "null"
            ]
          },
          "start_date": {
            "q": "created_at__date__gte",
            "title": "Start Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "end_date": {
            "q": "created_at__date__lte",
            "title": "End Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "title": "PublicAccountListFilterSchema",
        "type": "object"
      },
      "SystemAccountNames": {
        "enum": [
          "Accounts Receivable",
          "IC Accounts Receivable",
          "IC Due From",
          "Vendor Deposits",
          "Undeposited Funds",
          "Accumulated Depreciation",
          "Accounts Payable",
          "IC Accounts Payable",
          "IC Due To",
          "Customer Deposits",
          "Tax Payable",
          "Accrued Purchases",
          "Deferred Revenue",
          "Cumulative Translation Adjustment - Elimination",
          "Cumulative Translation Adjustment",
          "Retained Earnings",
          "Net Income",
          "Realized Gain/Loss",
          "Unrealized Gain/Loss",
          "Matching Gain/Loss",
          "Rounding Gain/Loss"
        ],
        "title": "SystemAccountNames",
        "type": "string"
      },
      "AccountType": {
        "enum": [
          "bank",
          "accounts_receivable",
          "other_current_asset",
          "fixed_asset",
          "unbilled_receivable",
          "deferred_expense",
          "other_asset",
          "investment",
          "accounts_payable",
          "credit_card",
          "deferred_revenue",
          "long_term_liability",
          "other_current_liability",
          "equity",
          "income",
          "cost_of_goods_sold",
          "expense",
          "other_income",
          "other_expense",
          "statistical"
        ],
        "title": "AccountType",
        "type": "string"
      },
      "Category1099": {
        "enum": [
          "NEC-Box 1",
          "MISC-Box 1",
          "MISC-Box 2",
          "MISC-Box 3",
          "MISC-Box 4",
          "MISC-Box 5",
          "MISC-Box 6",
          "MISC-Box 8",
          "MISC-Box 9",
          "MISC-Box 10",
          "MISC-Box 11",
          "MISC-Box 12",
          "MISC-Box 14",
          "MISC-Box 15",
          "INT-Box 1",
          "INT-Box 2",
          "INT-Box 3",
          "DIV-Box 1a",
          "DIV-Box 1b",
          "DIV-Box 2a",
          "DIV-Box 2b",
          "DIV-Box 2c",
          "DIV-Box 2d",
          "DIV-Box 2e",
          "DIV-Box 2f",
          "DIV-Box 3",
          "DIV-Box 4",
          "DIV-Box 5",
          "DIV-Box 6",
          "DIV-Box 7",
          "DIV-Box 8",
          "DIV-Box 9",
          "DIV-Box 10",
          "DIV-Box 12",
          "DIV-Box 13"
        ],
        "title": "Category1099",
        "type": "string"
      },
      "PagedPublicAccountSchemaOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicAccountSchemaOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicAccountSchemaOut",
        "type": "object"
      },
      "PublicAccountSchemaOut": {
        "properties": {
          "created_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "updated_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "number": {
            "title": "Number",
            "type": "integer"
          },
          "description": {
            "title": "Description",
            "type": "string"
          },
          "is_active": {
            "title": "Is Active",
            "type": "boolean"
          },
          "is_system": {
            "title": "Is System",
            "type": "boolean"
          },
          "company_id": {
            "title": "Company Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "parent_account_id": {
            "title": "Parent Account Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "account_type": {
            "$ref": "#/components/schemas/AccountType"
          },
          "currency_iso_4217_code": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              {
                "type": "null"
              }
            ],
            "description": "The ISO 4217 code of the currency of the account. Only available for bank type accounts."
          },
          "category_1099": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Category1099"
              },
              {
                "const": "",
                "type": "string"
              }
            ],
            "title": "Category 1099"
          },
          "system_ref": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemAccountNames"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "id",
          "name",
          "number",
          "description",
          "is_active",
          "is_system",
          "company_id",
          "parent_account_id",
          "account_type",
          "currency_iso_4217_code",
          "category_1099",
          "system_ref"
        ],
        "title": "PublicAccountSchemaOut",
        "type": "object"
      },
      "PublicAccountSchemaCreateIn": {
        "properties": {
          "name": {
            "maxLength": 256,
            "minLength": 2,
            "title": "Name",
            "type": "string"
          },
          "description": {
            "default": "",
            "maxLength": 512,
            "title": "Description",
            "type": "string"
          },
          "number": {
            "maximum": 9999999999,
            "minimum": 100,
            "title": "Number",
            "type": "integer"
          },
          "account_type": {
            "$ref": "#/components/schemas/AccountType"
          },
          "currency_iso_4217_code": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              {
                "type": "null"
              }
            ]
          },
          "is_active": {
            "title": "Is Active",
            "type": "boolean"
          },
          "company_id": {
            "title": "Company Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "parent_account_id": {
            "title": "Parent Account Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "category_1099": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Category1099"
              },
              {
                "const": "",
                "type": "string"
              }
            ],
            "default": "",
            "title": "Category 1099"
          },
          "allowed_company_ids": {
            "description": "Company IDs allowed to use this account in transactions. Restricts a shared chart-of-accounts entry to specific entities within your organization. Omit for no company restrictions (bank and credit card accounts use company_id instead).",
            "example": [
              101,
              102
            ],
            "title": "Allowed Company Ids",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "is_monetary": {
            "description": "Whether this account holds monetary items. If not provided, defaults based on account type.",
            "title": "Is Monetary",
            "type": [
              "boolean",
              "null"
            ]
          },
          "bank_alias": {
            "title": "Bank Alias",
            "maxLength": 256,
            "type": [
              "string",
              "null"
            ]
          },
          "bank_routing": {
            "title": "Bank Routing",
            "maxLength": 9,
            "minLength": 9,
            "pattern": "^\\d{9}$",
            "type": [
              "string",
              "null"
            ]
          },
          "bank_account_number": {
            "title": "Bank Account Number",
            "maxLength": 20,
            "minLength": 1,
            "type": [
              "string",
              "null"
            ]
          },
          "iban": {
            "title": "Iban",
            "maxLength": 34,
            "minLength": 15,
            "pattern": "^[A-Z]{2}\\d{2}[A-Z0-9]{1,30}$",
            "type": [
              "string",
              "null"
            ]
          },
          "start_bank_match_date": {
            "title": "Start Bank Match Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "name",
          "number",
          "account_type",
          "currency_iso_4217_code",
          "is_active",
          "parent_account_id"
        ],
        "title": "PublicAccountSchemaCreateIn",
        "type": "object"
      },
      "BudgetTypes": {
        "enum": [
          "income_statement",
          "balance_sheet"
        ],
        "title": "BudgetTypes",
        "type": "string"
      },
      "PublicBudgetListFilterSchema": {
        "properties": {
          "search": {
            "title": "Search",
            "type": [
              "string",
              "null"
            ]
          },
          "budget_type": {
            "q": "budget_type__in",
            "title": "Budget Type",
            "items": {
              "$ref": "#/components/schemas/BudgetTypes"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "calendar_year": {
            "q": "calendar_year__in",
            "title": "Calendar Year",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "company_id": {
            "q": "company_id__in",
            "title": "Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "record_status": {
            "q": "record_status__in",
            "title": "Record Status",
            "items": {
              "$ref": "#/components/schemas/RecordStatus"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "title": "PublicBudgetListFilterSchema",
        "type": "object"
      },
      "PagedPublicBudgetSchemaOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicBudgetSchemaOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicBudgetSchemaOut",
        "type": "object"
      },
      "PublicBudgetClassificationSchemaOut": {
        "properties": {
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "line_id": {
            "title": "Line Id",
            "type": "integer"
          },
          "line_name": {
            "title": "Line Name",
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "line_id",
          "line_name"
        ],
        "title": "PublicBudgetClassificationSchemaOut",
        "type": "object"
      },
      "PublicBudgetSchemaOut": {
        "properties": {
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "company_id": {
            "title": "Company Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "company_name": {
            "title": "Company Name",
            "type": "string"
          },
          "budget_type": {
            "$ref": "#/components/schemas/BudgetTypes"
          },
          "calendar_year": {
            "title": "Calendar Year",
            "type": "integer"
          },
          "start_date": {
            "format": "date",
            "title": "Start Date",
            "type": "string"
          },
          "end_date": {
            "format": "date",
            "title": "End Date",
            "type": "string"
          },
          "record_status": {
            "$ref": "#/components/schemas/RecordStatus"
          },
          "actuals_offset_in_months": {
            "title": "Actuals Offset In Months",
            "type": [
              "integer",
              "null"
            ]
          },
          "classifications": {
            "items": {
              "$ref": "#/components/schemas/PublicBudgetClassificationSchemaOut"
            },
            "title": "Classifications",
            "type": "array"
          },
          "updated_at": {
            "format": "date-time",
            "title": "Updated At",
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "company_id",
          "company_name",
          "budget_type",
          "calendar_year",
          "start_date",
          "end_date",
          "record_status",
          "updated_at"
        ],
        "title": "PublicBudgetSchemaOut",
        "type": "object"
      },
      "ContractListFilterSchema": {
        "properties": {
          "integration_sources": {
            "title": "Integration Sources",
            "items": {
              "$ref": "#/components/schemas/IntegrationSourceSlug"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "search": {
            "title": "Search",
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "q": "id__in",
            "title": "Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "company_id": {
            "q": "company_id__in",
            "title": "Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "number": {
            "q": "number__in",
            "title": "Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "customer_id": {
            "q": "customer_id__in",
            "title": "Customer Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "status": {
            "title": "Status",
            "items": {
              "$ref": "#/components/schemas/ContractStatusFilter"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "start_date": {
            "q": "date__gte",
            "title": "Start Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "end_date": {
            "q": "date__lte",
            "title": "End Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "contract_start_date": {
            "q": "start_date__gte",
            "title": "Contract Start Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "contract_end_date": {
            "q": "end_date__lte",
            "title": "Contract End Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "approval_status": {
            "title": "Approval Status",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "recognition_mode": {
            "q": "recognition_mode__in",
            "title": "Recognition Mode",
            "items": {
              "$ref": "#/components/schemas/RecognitionMode"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "has_auto_renewal": {
            "title": "Has Auto Renewal",
            "type": [
              "boolean",
              "null"
            ]
          },
          "has_scheduled_termination": {
            "title": "Has Scheduled Termination",
            "type": [
              "boolean",
              "null"
            ]
          },
          "days_till_expiry": {
            "title": "Days Till Expiry",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "title": "ContractListFilterSchema",
        "type": "object"
      },
      "ContractStatusFilter": {
        "description": "Filter-only enum that extends ContractStatus with virtual statuses.",
        "enum": [
          "draft",
          "review",
          "active",
          "completed",
          "terminated",
          "archived"
        ],
        "title": "ContractStatusFilter",
        "type": "string"
      },
      "RecognitionMode": {
        "enum": [
          "individual",
          "subledger"
        ],
        "title": "RecognitionMode",
        "type": "string"
      },
      "ContractCachedMetricsSchemaOut": {
        "description": "Precomputed contract metrics from the cache table.",
        "properties": {
          "tcv": {
            "title": "Tcv",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "type": [
              "string",
              "null"
            ]
          },
          "mrr": {
            "default": "0",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Mrr",
            "type": "string"
          },
          "arr": {
            "default": "0",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Arr",
            "type": "string"
          },
          "amount_invoiced_percentage": {
            "title": "Amount Invoiced Percentage",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "type": [
              "string",
              "null"
            ]
          },
          "revenue_recognized": {
            "default": "0",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Revenue Recognized",
            "type": "string"
          },
          "revenue_recognized_percentage": {
            "title": "Revenue Recognized Percentage",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "type": [
              "string",
              "null"
            ]
          },
          "next_invoice_date": {
            "title": "Next Invoice Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "title": "ContractCachedMetricsSchemaOut",
        "type": "object"
      },
      "ContractInvoiceSchemaOut": {
        "properties": {
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "number": {
            "title": "Number",
            "type": "integer"
          },
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "due_date": {
            "format": "date",
            "title": "Due Date",
            "type": "string"
          },
          "amount": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Amount",
            "type": "string"
          },
          "tax_amount": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Tax Amount",
            "type": "string"
          },
          "paid_total": {
            "description": "Amount that was already paid by Customer Repayment Applications or Customer Payments",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Paid Total",
            "type": "string"
          },
          "record_status": {
            "$ref": "#/components/schemas/RecordStatus"
          },
          "term_id": {
            "title": "Term Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "source": {
            "title": "Source",
            "type": "string"
          }
        },
        "required": [
          "id",
          "number",
          "date",
          "due_date",
          "amount",
          "tax_amount",
          "paid_total",
          "record_status",
          "source"
        ],
        "title": "ContractInvoiceSchemaOut",
        "type": "object"
      },
      "ContractListSchemaOut": {
        "description": "Schema for list endpoints — excludes detail-only fields (attachments, obligation_usage).",
        "properties": {
          "custom_fields": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/CustomFieldValuePairOutputSchema"
            },
            "title": "Custom Fields",
            "type": "array"
          },
          "completed_approvals_count": {
            "default": 0,
            "title": "Completed Approvals Count",
            "type": "integer"
          },
          "total_approvals_count": {
            "default": 0,
            "title": "Total Approvals Count",
            "type": "integer"
          },
          "integration_remote_records": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/IntegrationRemoteRecordSchemaOut"
            },
            "title": "Integration Remote Records",
            "type": "array"
          },
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "number": {
            "title": "Number",
            "type": "integer"
          },
          "company_id": {
            "title": "Company Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "company_name": {
            "title": "Company Name",
            "type": [
              "string",
              "null"
            ]
          },
          "company_currency": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              {
                "type": "null"
              }
            ]
          },
          "customer_id": {
            "title": "Customer Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "customer_name": {
            "title": "Customer Name",
            "type": [
              "string",
              "null"
            ]
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "term_id": {
            "title": "Term Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "default_ar_account_id": {
            "title": "Default Ar Account Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "contract_template_id": {
            "title": "Contract Template Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "start_date": {
            "format": "date",
            "title": "Start Date",
            "type": "string"
          },
          "end_date": {
            "title": "End Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "bill_to_address": {
            "title": "Bill To Address",
            "type": "string"
          },
          "ship_to_address": {
            "title": "Ship To Address",
            "type": "string"
          },
          "billing_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaIn"
              },
              {
                "type": "null"
              }
            ]
          },
          "shipping_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaIn"
              },
              {
                "type": "null"
              }
            ]
          },
          "billing_anchor_weekday": {
            "title": "Billing Anchor Weekday",
            "type": [
              "integer",
              "null"
            ]
          },
          "recognition_anchor_weekday": {
            "title": "Recognition Anchor Weekday",
            "type": [
              "integer",
              "null"
            ]
          },
          "is_incomplete": {
            "title": "Is Incomplete",
            "type": "boolean"
          },
          "cutover_date": {
            "title": "Cutover Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "prior_recognized_amount": {
            "title": "Prior Recognized Amount",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "type": [
              "string",
              "null"
            ]
          },
          "default_early_termination_fee": {
            "title": "Default Early Termination Fee",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "$ref": "#/components/schemas/ContractStatus"
          },
          "recognition_mode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RecognitionMode"
              }
            ],
            "default": "individual"
          },
          "record_status": {
            "$ref": "#/components/schemas/RecordStatus"
          },
          "is_locked": {
            "title": "Is Locked",
            "type": "boolean"
          },
          "workflow_status": {
            "title": "Workflow Status",
            "type": [
              "string",
              "null"
            ]
          },
          "pending_approvers_count": {
            "default": 0,
            "title": "Pending Approvers Count",
            "type": "integer"
          },
          "payment": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PaymentSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "revenue_recognitions": {
            "items": {
              "$ref": "#/components/schemas/RevenueRecognitionSchemaOut"
            },
            "title": "Revenue Recognitions",
            "type": "array"
          },
          "invoices": {
            "items": {
              "$ref": "#/components/schemas/ContractInvoiceSchemaOut"
            },
            "title": "Invoices",
            "type": "array"
          },
          "amount": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Amount",
            "type": "string"
          },
          "renewed_end_date": {
            "title": "Renewed End Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "next_renewal_date": {
            "title": "Next Renewal Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "days_till_expiry": {
            "title": "Days Till Expiry",
            "type": [
              "integer",
              "null"
            ]
          },
          "termination": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/EmbeddedTerminationSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "change_orders": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/EmbeddedChangeOrderSchemaOut"
            },
            "title": "Change Orders",
            "type": "array"
          },
          "cached_metrics": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ContractCachedMetricsSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "has_usage_obligations": {
            "default": false,
            "title": "Has Usage Obligations",
            "type": "boolean"
          },
          "has_usages": {
            "default": false,
            "title": "Has Usages",
            "type": "boolean"
          },
          "metrics": {
            "$ref": "#/components/schemas/ContractMetricsSchemaOut",
            "description": "Derived contract metrics (MRR, ARR, TCV, invoiced, recognized, etc.).",
            "readOnly": true
          }
        },
        "required": [
          "id",
          "number",
          "name",
          "currency_iso_4217_code",
          "memo",
          "date",
          "start_date",
          "bill_to_address",
          "ship_to_address",
          "is_incomplete",
          "status",
          "record_status",
          "is_locked",
          "revenue_recognitions",
          "invoices",
          "amount",
          "metrics"
        ],
        "title": "ContractListSchemaOut",
        "type": "object"
      },
      "ContractMetricsSchemaOut": {
        "properties": {
          "total_contract_value": {
            "title": "Total Contract Value",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "type": [
              "string",
              "null"
            ]
          },
          "mrr": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Mrr",
            "type": "string"
          },
          "arr": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Arr",
            "type": "string"
          },
          "amount_invoiced": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Amount Invoiced",
            "type": "string"
          },
          "amount_invoiced_percentage": {
            "title": "Amount Invoiced Percentage",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "type": [
              "string",
              "null"
            ]
          },
          "invoices_paid": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Invoices Paid",
            "type": "string"
          },
          "invoices_paid_percentage": {
            "title": "Invoices Paid Percentage",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "type": [
              "string",
              "null"
            ]
          },
          "revenue_recognized": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Revenue Recognized",
            "type": "string"
          },
          "revenue_recognized_percentage": {
            "title": "Revenue Recognized Percentage",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "type": [
              "string",
              "null"
            ]
          },
          "unbilled_revenue": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Unbilled Revenue",
            "type": "string"
          },
          "unrecognized_revenue": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Unrecognized Revenue",
            "type": "string"
          },
          "deferred_revenue": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Deferred Revenue",
            "type": "string"
          },
          "next_invoice_date": {
            "title": "Next Invoice Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "total_discount_amount": {
            "default": "0",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Total Discount Amount",
            "type": "string"
          },
          "total_tax_amount": {
            "default": "0",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Total Tax Amount",
            "type": "string"
          }
        },
        "required": [
          "mrr",
          "arr",
          "amount_invoiced",
          "invoices_paid",
          "revenue_recognized",
          "unbilled_revenue",
          "unrecognized_revenue",
          "deferred_revenue"
        ],
        "title": "ContractMetricsSchemaOut",
        "type": "object"
      },
      "ContractStatus": {
        "enum": [
          "draft",
          "active",
          "completed",
          "terminated",
          "archived"
        ],
        "title": "ContractStatus",
        "type": "string"
      },
      "EmbeddedChangeOrderSchemaOut": {
        "properties": {
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "number": {
            "title": "Number",
            "type": "integer"
          },
          "contract_id": {
            "title": "Contract Id",
            "type": "integer"
          },
          "effective_date": {
            "format": "date",
            "title": "Effective Date",
            "type": "string"
          },
          "apply_cumulative_catchup": {
            "title": "Apply Cumulative Catchup",
            "type": "boolean"
          },
          "catchup_amount": {
            "title": "Catchup Amount",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
            "type": [
              "string",
              "null"
            ]
          },
          "transaction_id": {
            "title": "Transaction Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "memo": {
            "title": "Memo",
            "type": [
              "string",
              "null"
            ]
          },
          "record_status": {
            "$ref": "#/components/schemas/RecordStatus"
          },
          "obligation_modifications": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/EmbeddedObligationModificationOut"
            },
            "title": "Obligation Modifications",
            "type": "array"
          },
          "obligation_additions": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/EmbeddedObligationAdditionOut"
            },
            "title": "Obligation Additions",
            "type": "array"
          }
        },
        "required": [
          "id",
          "number",
          "contract_id",
          "effective_date",
          "apply_cumulative_catchup",
          "transaction_id",
          "memo",
          "record_status"
        ],
        "title": "EmbeddedChangeOrderSchemaOut",
        "type": "object"
      },
      "EmbeddedObligationAdditionOut": {
        "description": "Lightweight read-only schema for obligation additions embedded in contract detail.",
        "properties": {
          "item_id": {
            "title": "Item Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "quantity": {
            "title": "Quantity",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
            "type": [
              "string",
              "null"
            ]
          },
          "rate": {
            "title": "Rate",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
            "type": [
              "string",
              "null"
            ]
          },
          "position": {
            "default": 0,
            "title": "Position",
            "type": "integer"
          },
          "memo": {
            "default": "",
            "title": "Memo",
            "type": "string"
          },
          "standalone_selling_price": {
            "title": "Standalone Selling Price",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
            "type": [
              "string",
              "null"
            ]
          },
          "recognition_strategy": {
            "title": "Recognition Strategy",
            "type": [
              "string",
              "null"
            ]
          },
          "billing_start_date": {
            "title": "Billing Start Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "billing_end_date": {
            "title": "Billing End Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "billing_frequency": {
            "title": "Billing Frequency",
            "type": [
              "string",
              "null"
            ]
          },
          "billing_interval": {
            "title": "Billing Interval",
            "type": [
              "integer",
              "null"
            ]
          },
          "recognition_start_date": {
            "title": "Recognition Start Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "recognition_end_date": {
            "title": "Recognition End Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "recognition_frequency": {
            "title": "Recognition Frequency",
            "type": [
              "string",
              "null"
            ]
          },
          "recognition_interval": {
            "title": "Recognition Interval",
            "type": [
              "integer",
              "null"
            ]
          },
          "discount_type": {
            "title": "Discount Type",
            "type": [
              "string",
              "null"
            ]
          },
          "discount_value": {
            "title": "Discount Value",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "title": "EmbeddedObligationAdditionOut",
        "type": "object"
      },
      "EmbeddedObligationModificationOut": {
        "description": "Lightweight output schema for obligation modifications embedded in contract detail.",
        "properties": {
          "obligation_id": {
            "title": "Obligation Id",
            "type": "integer"
          },
          "quantity": {
            "title": "Quantity",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
            "type": [
              "string",
              "null"
            ]
          },
          "rate": {
            "title": "Rate",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
            "type": [
              "string",
              "null"
            ]
          },
          "item_id": {
            "title": "Item Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "memo": {
            "title": "Memo",
            "type": [
              "string",
              "null"
            ]
          },
          "discount_type": {
            "title": "Discount Type",
            "type": [
              "string",
              "null"
            ]
          },
          "discount_value": {
            "title": "Discount Value",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
            "type": [
              "string",
              "null"
            ]
          },
          "standalone_selling_price": {
            "title": "Standalone Selling Price",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
            "type": [
              "string",
              "null"
            ]
          },
          "cancel": {
            "default": false,
            "title": "Cancel",
            "type": "boolean"
          }
        },
        "required": [
          "obligation_id"
        ],
        "title": "EmbeddedObligationModificationOut",
        "type": "object"
      },
      "EmbeddedTerminationSchemaOut": {
        "properties": {
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "number": {
            "title": "Number",
            "type": "integer"
          },
          "contract_id": {
            "title": "Contract Id",
            "type": "integer"
          },
          "termination_type": {
            "title": "Termination Type",
            "type": "string"
          },
          "termination_date": {
            "format": "date",
            "title": "Termination Date",
            "type": "string"
          },
          "early_termination_fee": {
            "title": "Early Termination Fee",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "type": [
              "string",
              "null"
            ]
          },
          "early_termination_fee_item_id": {
            "title": "Early Termination Fee Item Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "fee_invoice_id": {
            "title": "Fee Invoice Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "refund_amount": {
            "title": "Refund Amount",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "type": [
              "string",
              "null"
            ]
          },
          "refund_credit_account_id": {
            "title": "Refund Credit Account Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "transaction_id": {
            "title": "Transaction Id",
            "type": "integer"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "record_status": {
            "$ref": "#/components/schemas/RecordStatus"
          }
        },
        "required": [
          "id",
          "number",
          "contract_id",
          "termination_type",
          "termination_date",
          "transaction_id",
          "memo",
          "date",
          "record_status"
        ],
        "title": "EmbeddedTerminationSchemaOut",
        "type": "object"
      },
      "PagedContractListSchemaOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/ContractListSchemaOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedContractListSchemaOut",
        "type": "object"
      },
      "RevenueRecognitionSchemaOut": {
        "properties": {
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "number": {
            "title": "Number",
            "type": "integer"
          },
          "contract_id": {
            "title": "Contract Id",
            "type": "integer"
          },
          "performance_obligation_id": {
            "title": "Performance Obligation Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "format": "date",
            "title": "Transaction Date",
            "type": "string"
          },
          "amount": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Amount",
            "type": "string"
          },
          "transaction_id": {
            "title": "Transaction Id",
            "type": "integer"
          },
          "record_status": {
            "$ref": "#/components/schemas/RecordStatus"
          },
          "is_reversal": {
            "default": false,
            "title": "Is Reversal",
            "type": "boolean"
          },
          "income_account_id": {
            "title": "Income Account Id",
            "type": "integer"
          },
          "deferrered_revenue_account_id": {
            "title": "Deferrered Revenue Account Id",
            "type": "integer"
          }
        },
        "required": [
          "id",
          "number",
          "contract_id",
          "date",
          "transaction_date",
          "amount",
          "transaction_id",
          "record_status",
          "income_account_id",
          "deferrered_revenue_account_id"
        ],
        "title": "RevenueRecognitionSchemaOut",
        "type": "object"
      },
      "ApprovalChainSchema": {
        "description": "Full approval chain.",
        "properties": {
          "workflow_name": {
            "title": "Workflow Name",
            "type": "string"
          },
          "workflow_version": {
            "title": "Workflow Version",
            "type": "integer"
          },
          "steps": {
            "items": {
              "$ref": "#/components/schemas/StepChainSchema"
            },
            "title": "Steps",
            "type": "array"
          }
        },
        "required": [
          "workflow_name",
          "workflow_version",
          "steps"
        ],
        "title": "ApprovalChainSchema",
        "type": "object"
      },
      "ApprovalInfoSchema": {
        "description": "Schema for complete approval workflow information.",
        "properties": {
          "workflow_name": {
            "title": "Workflow Name",
            "type": "string"
          },
          "workflow_version": {
            "title": "Workflow Version",
            "type": "integer"
          },
          "step_name": {
            "title": "Step Name",
            "type": "string"
          },
          "current_substep": {
            "title": "Current Substep",
            "type": "integer"
          },
          "substeps": {
            "items": {
              "$ref": "#/components/schemas/SubstepInfoSchema"
            },
            "title": "Substeps",
            "type": "array"
          }
        },
        "required": [
          "workflow_name",
          "workflow_version",
          "step_name",
          "current_substep",
          "substeps"
        ],
        "title": "ApprovalInfoSchema",
        "type": "object"
      },
      "ApproveCondition": {
        "description": "Condition for approving a substep.",
        "enum": [
          "any",
          "all"
        ],
        "title": "ApproveCondition",
        "type": "string"
      },
      "ApproverSchema": {
        "description": "Schema for approver information.",
        "properties": {
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "first_name": {
            "title": "First Name",
            "type": "string"
          },
          "last_name": {
            "title": "Last Name",
            "type": "string"
          },
          "email": {
            "title": "Email",
            "type": "string"
          },
          "full_name": {
            "title": "Full Name",
            "type": "string"
          },
          "avatar_url": {
            "title": "Avatar Url",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "first_name",
          "last_name",
          "email",
          "full_name"
        ],
        "title": "ApproverSchema",
        "type": "object"
      },
      "BillingCadence": {
        "enum": [
          "one_time",
          "daily",
          "weekly",
          "monthly",
          "quarterly",
          "semi_annually",
          "annually"
        ],
        "title": "BillingCadence",
        "type": "string"
      },
      "ContractCustomerCreditSchemaOut": {
        "properties": {
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "number": {
            "title": "Number",
            "type": "integer"
          },
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "amount": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Amount",
            "type": "string"
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "record_status": {
            "$ref": "#/components/schemas/RecordStatus"
          }
        },
        "required": [
          "id",
          "number",
          "date",
          "amount",
          "currency_iso_4217_code",
          "record_status"
        ],
        "title": "ContractCustomerCreditSchemaOut",
        "type": "object"
      },
      "ContractSchemaOut": {
        "description": "Full detail schema — extends list schema with attachments and obligation usage.",
        "properties": {
          "custom_fields": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/CustomFieldValuePairOutputSchema"
            },
            "title": "Custom Fields",
            "type": "array"
          },
          "completed_approvals_count": {
            "default": 0,
            "title": "Completed Approvals Count",
            "type": "integer"
          },
          "total_approvals_count": {
            "default": 0,
            "title": "Total Approvals Count",
            "type": "integer"
          },
          "integration_remote_records": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/IntegrationRemoteRecordSchemaOut"
            },
            "title": "Integration Remote Records",
            "type": "array"
          },
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "number": {
            "title": "Number",
            "type": "integer"
          },
          "company_id": {
            "title": "Company Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "company_name": {
            "title": "Company Name",
            "type": [
              "string",
              "null"
            ]
          },
          "company_currency": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              {
                "type": "null"
              }
            ]
          },
          "customer_id": {
            "title": "Customer Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "customer_name": {
            "title": "Customer Name",
            "type": [
              "string",
              "null"
            ]
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "term_id": {
            "title": "Term Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "default_ar_account_id": {
            "title": "Default Ar Account Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "contract_template_id": {
            "title": "Contract Template Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "start_date": {
            "format": "date",
            "title": "Start Date",
            "type": "string"
          },
          "end_date": {
            "title": "End Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "bill_to_address": {
            "title": "Bill To Address",
            "type": "string"
          },
          "ship_to_address": {
            "title": "Ship To Address",
            "type": "string"
          },
          "billing_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaIn"
              },
              {
                "type": "null"
              }
            ]
          },
          "shipping_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaIn"
              },
              {
                "type": "null"
              }
            ]
          },
          "billing_anchor_weekday": {
            "title": "Billing Anchor Weekday",
            "type": [
              "integer",
              "null"
            ]
          },
          "recognition_anchor_weekday": {
            "title": "Recognition Anchor Weekday",
            "type": [
              "integer",
              "null"
            ]
          },
          "is_incomplete": {
            "title": "Is Incomplete",
            "type": "boolean"
          },
          "cutover_date": {
            "title": "Cutover Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "prior_recognized_amount": {
            "title": "Prior Recognized Amount",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "type": [
              "string",
              "null"
            ]
          },
          "default_early_termination_fee": {
            "title": "Default Early Termination Fee",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "$ref": "#/components/schemas/ContractStatus"
          },
          "recognition_mode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RecognitionMode"
              }
            ],
            "default": "individual"
          },
          "record_status": {
            "$ref": "#/components/schemas/RecordStatus"
          },
          "is_locked": {
            "title": "Is Locked",
            "type": "boolean"
          },
          "workflow_status": {
            "title": "Workflow Status",
            "type": [
              "string",
              "null"
            ]
          },
          "pending_approvers_count": {
            "default": 0,
            "title": "Pending Approvers Count",
            "type": "integer"
          },
          "payment": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PaymentSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "revenue_recognitions": {
            "items": {
              "$ref": "#/components/schemas/RevenueRecognitionSchemaOut"
            },
            "title": "Revenue Recognitions",
            "type": "array"
          },
          "invoices": {
            "items": {
              "$ref": "#/components/schemas/ContractInvoiceSchemaOut"
            },
            "title": "Invoices",
            "type": "array"
          },
          "obligations": {
            "items": {
              "$ref": "#/components/schemas/PerformanceObligationOut"
            },
            "title": "Obligations",
            "type": "array"
          },
          "obligation_usage": {
            "items": {
              "$ref": "#/components/schemas/ObligationUsageSchemaOut"
            },
            "title": "Obligation Usage",
            "type": "array"
          },
          "amount": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Amount",
            "type": "string"
          },
          "renewed_end_date": {
            "title": "Renewed End Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "next_renewal_date": {
            "title": "Next Renewal Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "days_till_expiry": {
            "title": "Days Till Expiry",
            "type": [
              "integer",
              "null"
            ]
          },
          "termination": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/EmbeddedTerminationSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "change_orders": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/EmbeddedChangeOrderSchemaOut"
            },
            "title": "Change Orders",
            "type": "array"
          },
          "customer_credits": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/ContractCustomerCreditSchemaOut"
            },
            "title": "Customer Credits",
            "type": "array"
          },
          "cached_metrics": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ContractCachedMetricsSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "has_usage_obligations": {
            "default": false,
            "title": "Has Usage Obligations",
            "type": "boolean"
          },
          "has_usages": {
            "default": false,
            "title": "Has Usages",
            "type": "boolean"
          },
          "approval_info": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ApprovalInfoSchema"
              },
              {
                "type": "null"
              }
            ]
          },
          "approval_chain": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ApprovalChainSchema"
              },
              {
                "type": "null"
              }
            ]
          },
          "bank_match_status": {
            "title": "Bank Match Status",
            "type": [
              "string",
              "null"
            ]
          },
          "contract_attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/AttachmentSchemaOut"
            },
            "title": "Contract Attachments",
            "type": "array"
          },
          "change_orders_attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/AttachmentSchemaOut"
            },
            "title": "Change Orders Attachments",
            "type": "array"
          },
          "metrics": {
            "$ref": "#/components/schemas/ContractMetricsSchemaOut",
            "description": "Derived contract metrics (MRR, ARR, TCV, invoiced, recognized, etc.).",
            "readOnly": true
          }
        },
        "required": [
          "id",
          "number",
          "name",
          "currency_iso_4217_code",
          "memo",
          "date",
          "start_date",
          "bill_to_address",
          "ship_to_address",
          "is_incomplete",
          "status",
          "record_status",
          "is_locked",
          "revenue_recognitions",
          "invoices",
          "obligations",
          "obligation_usage",
          "amount",
          "metrics"
        ],
        "title": "ContractSchemaOut",
        "type": "object"
      },
      "ObligationUsageSchemaOut": {
        "properties": {
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "contract_id": {
            "title": "Contract Id",
            "type": "integer"
          },
          "obligation_id": {
            "title": "Obligation Id",
            "type": "integer"
          },
          "usage_date": {
            "format": "date",
            "title": "Usage Date",
            "type": "string"
          },
          "quantity": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
            "title": "Quantity",
            "type": "string"
          },
          "rate": {
            "title": "Rate",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,10}0*$",
            "type": [
              "string",
              "null"
            ]
          },
          "amount": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Amount",
            "type": "string"
          },
          "effective_rate": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,10}0*$",
            "title": "Effective Rate",
            "type": "string"
          },
          "revenue_recognition_id": {
            "title": "Revenue Recognition Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "status": {
            "$ref": "#/components/schemas/ObligationUsageStatus"
          },
          "invoice_status": {
            "title": "Invoice Status",
            "type": [
              "string",
              "null"
            ]
          },
          "memo": {
            "default": "",
            "title": "Memo",
            "type": "string"
          },
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "updated_at": {
            "format": "date-time",
            "title": "Updated At",
            "type": "string"
          },
          "classifications": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/RecordClassificationsSchemaOut"
            },
            "title": "Classifications",
            "type": "array"
          }
        },
        "required": [
          "id",
          "contract_id",
          "obligation_id",
          "usage_date",
          "quantity",
          "amount",
          "effective_rate",
          "status",
          "created_at",
          "updated_at"
        ],
        "title": "ObligationUsageSchemaOut",
        "type": "object"
      },
      "ObligationUsageStatus": {
        "enum": [
          "draft",
          "invoiced",
          "archived"
        ],
        "title": "ObligationUsageStatus",
        "type": "string"
      },
      "PerformanceObligationOut": {
        "description": "Output schema for performance obligation (contract line item).",
        "properties": {
          "id": {
            "title": "Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "item_id": {
            "title": "Item Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "item_type": {
            "title": "Item Type",
            "type": [
              "string",
              "null"
            ]
          },
          "item_name": {
            "title": "Item Name",
            "type": [
              "string",
              "null"
            ]
          },
          "hsn_sac_code": {
            "title": "Hsn Sac Code",
            "type": [
              "string",
              "null"
            ]
          },
          "quantity": {
            "title": "Quantity",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
            "type": [
              "string",
              "null"
            ]
          },
          "rate": {
            "title": "Rate",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,10}0*$",
            "type": [
              "string",
              "null"
            ]
          },
          "position": {
            "title": "Position",
            "type": "integer"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "standalone_selling_price": {
            "title": "Standalone Selling Price",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,10}0*$",
            "type": [
              "string",
              "null"
            ]
          },
          "term_id": {
            "title": "Term Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "billing_group": {
            "default": 1,
            "minimum": 1,
            "title": "Billing Group",
            "type": "integer"
          },
          "recognition_strategy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RecognitionStrategy"
              }
            ],
            "default": "straight_line"
          },
          "obligation_conditions": {
            "additionalProperties": true,
            "title": "Obligation Conditions",
            "type": "object"
          },
          "classifications": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/RecordClassificationsSchemaOut"
            },
            "title": "Classifications",
            "type": "array"
          },
          "billing_start_date": {
            "format": "date",
            "title": "Billing Start Date",
            "type": "string"
          },
          "billing_end_date": {
            "title": "Billing End Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "billing_frequency": {
            "$ref": "#/components/schemas/BillingCadence"
          },
          "billing_interval": {
            "title": "Billing Interval",
            "type": "integer"
          },
          "sync_billing_with_recognition": {
            "default": false,
            "title": "Sync Billing With Recognition",
            "type": "boolean"
          },
          "skip_invoice_generation": {
            "default": false,
            "title": "Skip Invoice Generation",
            "type": "boolean"
          },
          "recognition_start_date": {
            "format": "date",
            "title": "Recognition Start Date",
            "type": "string"
          },
          "recognition_end_date": {
            "title": "Recognition End Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "recognition_frequency": {
            "$ref": "#/components/schemas/RecognitionCadence"
          },
          "recognition_interval": {
            "title": "Recognition Interval",
            "type": "integer"
          },
          "discount_type": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DiscountType"
              },
              {
                "type": "null"
              }
            ]
          },
          "discount_value": {
            "title": "Discount Value",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
            "type": [
              "string",
              "null"
            ]
          },
          "allocated_amount": {
            "title": "Allocated Amount",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "type": [
              "string",
              "null"
            ]
          },
          "selected_vat_rate_id": {
            "title": "Selected Vat Rate Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "selected_gst_tax_rate_id": {
            "title": "Selected Gst Tax Rate Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "is_auto_renewable": {
            "default": false,
            "title": "Is Auto Renewable",
            "type": "boolean"
          },
          "auto_renewal_date": {
            "title": "Auto Renewal Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "renewed_from_id": {
            "title": "Renewed From Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "changed_from_id": {
            "title": "Changed From Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "change_lineage_root_id": {
            "title": "Change Lineage Root Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "is_incomplete": {
            "readOnly": true,
            "title": "Is Incomplete",
            "type": "boolean"
          },
          "amount": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
            "readOnly": true,
            "title": "Amount",
            "type": "string"
          },
          "discount_amount": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
            "readOnly": true,
            "title": "Discount Amount",
            "type": "string"
          },
          "net_amount": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
            "readOnly": true,
            "title": "Net Amount",
            "type": "string"
          },
          "qualifies_for_mrr": {
            "description": "Whether this obligation should be included in MRR/ARR calculations.",
            "readOnly": true,
            "title": "Qualifies For Mrr",
            "type": "boolean"
          }
        },
        "required": [
          "position",
          "memo",
          "billing_start_date",
          "billing_frequency",
          "billing_interval",
          "recognition_start_date",
          "recognition_frequency",
          "recognition_interval",
          "is_incomplete",
          "amount",
          "discount_amount",
          "net_amount",
          "qualifies_for_mrr"
        ],
        "title": "PerformanceObligationOut",
        "type": "object"
      },
      "RecognitionCadence": {
        "enum": [
          "daily",
          "weekly",
          "monthly",
          "quarterly",
          "semi_annually",
          "annually"
        ],
        "title": "RecognitionCadence",
        "type": "string"
      },
      "RecognitionStrategy": {
        "enum": [
          "straight_line",
          "straight_line_start_end_even",
          "daily_prorata",
          "milestone",
          "usage_tiered",
          "usage",
          "immediate",
          "deposit_release"
        ],
        "title": "RecognitionStrategy",
        "type": "string"
      },
      "StepChainSchema": {
        "description": "Step in approval chain.",
        "properties": {
          "order": {
            "title": "Order",
            "type": "integer"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/StepStatus"
          },
          "approve_condition": {
            "$ref": "#/components/schemas/ApproveCondition"
          },
          "substeps": {
            "title": "Substeps",
            "items": {
              "$ref": "#/components/schemas/SubstepChainSchema"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "approvers": {
            "title": "Approvers",
            "items": {
              "$ref": "#/components/schemas/ApproverDictSchema"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "approved_by": {
            "title": "Approved By",
            "items": {
              "$ref": "#/components/schemas/ApproverDictSchema"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "rejected_by": {
            "title": "Rejected By",
            "items": {
              "$ref": "#/components/schemas/ApproverDictSchema"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "order",
          "name",
          "status",
          "approve_condition"
        ],
        "title": "StepChainSchema",
        "type": "object"
      },
      "StepStatus": {
        "description": "Status of a step in the approval chain.",
        "enum": [
          "completed",
          "pending",
          "not_started",
          "skipped"
        ],
        "title": "StepStatus",
        "type": "string"
      },
      "SubstepChainSchema": {
        "description": "Substep in approval chain.",
        "properties": {
          "order": {
            "title": "Order",
            "type": "integer"
          },
          "status": {
            "$ref": "#/components/schemas/SubstepStatus"
          },
          "approve_condition": {
            "$ref": "#/components/schemas/ApproveCondition"
          },
          "approvers": {
            "items": {
              "$ref": "#/components/schemas/ApproverDictSchema"
            },
            "title": "Approvers",
            "type": "array"
          },
          "approved_by": {
            "items": {
              "$ref": "#/components/schemas/ApproverDictSchema"
            },
            "title": "Approved By",
            "type": "array"
          },
          "rejected_by": {
            "items": {
              "$ref": "#/components/schemas/ApproverDictSchema"
            },
            "title": "Rejected By",
            "type": "array"
          }
        },
        "required": [
          "order",
          "status",
          "approve_condition",
          "approvers",
          "approved_by",
          "rejected_by"
        ],
        "title": "SubstepChainSchema",
        "type": "object"
      },
      "SubstepInfoSchema": {
        "description": "Schema for individual substep information in approval workflow.",
        "properties": {
          "order": {
            "title": "Order",
            "type": "integer"
          },
          "status": {
            "$ref": "#/components/schemas/SubstepStatus"
          },
          "approve_condition": {
            "$ref": "#/components/schemas/ApproveCondition"
          },
          "approvers": {
            "items": {
              "$ref": "#/components/schemas/ApproverSchema"
            },
            "title": "Approvers",
            "type": "array"
          },
          "approved_by": {
            "items": {
              "$ref": "#/components/schemas/ApproverSchema"
            },
            "title": "Approved By",
            "type": "array"
          },
          "rejected_by": {
            "items": {
              "$ref": "#/components/schemas/ApproverSchema"
            },
            "title": "Rejected By",
            "type": "array"
          }
        },
        "required": [
          "order",
          "status",
          "approve_condition",
          "approvers",
          "approved_by",
          "rejected_by"
        ],
        "title": "SubstepInfoSchema",
        "type": "object"
      },
      "SubstepStatus": {
        "description": "Status of a substep in the approval workflow.",
        "enum": [
          "completed",
          "pending",
          "not_started"
        ],
        "title": "SubstepStatus",
        "type": "string"
      },
      "ContractSchemaCreateIn": {
        "properties": {
          "custom_fields": {
            "title": "Custom Fields",
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "memo": {
            "default": "",
            "maxLength": 512,
            "title": "Memo",
            "type": "string"
          },
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "start_date": {
            "format": "date",
            "title": "Start Date",
            "type": "string"
          },
          "end_date": {
            "title": "End Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "customer_id": {
            "title": "Customer Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "name": {
            "default": "",
            "maxLength": 128,
            "title": "Name",
            "type": "string"
          },
          "currency_iso_4217_code": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SystemCurrencies"
              }
            ],
            "default": "USD"
          },
          "bill_to_address": {
            "default": "",
            "title": "Bill To Address",
            "type": "string"
          },
          "billing_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaIn"
              },
              {
                "type": "null"
              }
            ]
          },
          "ship_to_address": {
            "default": "",
            "title": "Ship To Address",
            "type": "string"
          },
          "shipping_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaIn"
              },
              {
                "type": "null"
              }
            ]
          },
          "obligations": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PerformanceObligationIn"
            },
            "title": "Obligations",
            "type": "array"
          },
          "term_id": {
            "title": "Term Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "default_ar_account_id": {
            "title": "Default Ar Account Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "contract_template_id": {
            "title": "Contract Template Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "billing_start_date": {
            "title": "Billing Start Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "billing_frequency": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BillingCadence"
              }
            ],
            "default": "monthly"
          },
          "billing_interval": {
            "default": 1,
            "minimum": 1,
            "title": "Billing Interval",
            "type": "integer"
          },
          "billing_anchor_weekday": {
            "description": "Optional weekday anchor for weekly billing (0=Monday)",
            "title": "Billing Anchor Weekday",
            "maximum": 6,
            "minimum": 0,
            "type": [
              "integer",
              "null"
            ]
          },
          "recognition_start_date": {
            "title": "Recognition Start Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "recognition_frequency": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RecognitionCadence"
              }
            ],
            "default": "monthly"
          },
          "recognition_interval": {
            "default": 1,
            "minimum": 1,
            "title": "Recognition Interval",
            "type": "integer"
          },
          "recognition_anchor_weekday": {
            "description": "Optional weekday anchor for weekly recognition (0=Monday)",
            "title": "Recognition Anchor Weekday",
            "maximum": 6,
            "minimum": 0,
            "type": [
              "integer",
              "null"
            ]
          },
          "status": {
            "$ref": "#/components/schemas/ContractStatus"
          },
          "recognition_mode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RecognitionMode"
              }
            ],
            "default": "individual"
          },
          "contract_attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/AttachmentSchemaOut"
            },
            "title": "Contract Attachments",
            "type": "array"
          },
          "change_orders_attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/AttachmentSchemaOut"
            },
            "title": "Change Orders Attachments",
            "type": "array"
          },
          "payment": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PaymentSchemaIn"
              },
              {
                "type": "null"
              }
            ]
          },
          "prepared_invoices": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/InvoiceSchemaCreateIn"
            },
            "title": "Prepared Invoices",
            "type": "array"
          },
          "revenue_recognitions": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/RevenueRecognitionSchemaCreateIn"
            },
            "title": "Revenue Recognitions",
            "type": "array"
          },
          "cutover_date": {
            "title": "Cutover Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "prior_recognized_amount": {
            "anyOf": [
              {
                "minimum": 0,
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Prior Recognized Amount"
          },
          "default_early_termination_fee": {
            "anyOf": [
              {
                "minimum": 0,
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Default Early Termination Fee"
          }
        },
        "required": [
          "status"
        ],
        "title": "ContractSchemaCreateIn",
        "type": "object"
      },
      "InvoiceItemIn": {
        "properties": {
          "discount_type": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DiscountType"
              },
              {
                "type": "null"
              }
            ]
          },
          "discount_value": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Discount Value"
          },
          "discount_account_id": {
            "title": "Discount Account Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "record_level_discount_amount": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Record Level Discount Amount"
          },
          "tax": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ItemTaxData"
              },
              {
                "type": "null"
              }
            ]
          },
          "id": {
            "title": "Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "item_id": {
            "title": "Item Id",
            "type": "integer"
          },
          "quantity": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
                "type": "string"
              }
            ],
            "title": "Quantity"
          },
          "rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,10}0*$",
                "type": "string"
              }
            ],
            "title": "Rate"
          },
          "position": {
            "title": "Position",
            "type": "integer"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "classifications": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/RecordClassificationsSchemaOut"
            },
            "title": "Classifications",
            "type": "array"
          },
          "company_id": {
            "title": "Company Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "account_id": {
            "title": "Account Id",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "item_id",
          "quantity",
          "rate",
          "position",
          "memo"
        ],
        "title": "InvoiceItemIn",
        "type": "object"
      },
      "InvoiceSchemaCreateIn": {
        "properties": {
          "supply_date": {
            "title": "Supply Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "place_of_supply": {
            "title": "Place Of Supply",
            "maxLength": 2,
            "type": [
              "string",
              "null"
            ]
          },
          "tax_registration_numbers": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/TaxRegistrationNumbersSnapshot"
              },
              {
                "type": "null"
              }
            ]
          },
          "bill_to_address": {
            "default": "",
            "deprecated": true,
            "description": "Deprecated: send the structured billing_address / shipping_address instead.",
            "title": "Bill To Address",
            "type": [
              "string",
              "null"
            ]
          },
          "ship_to_address": {
            "default": "",
            "deprecated": true,
            "description": "Deprecated: send the structured billing_address / shipping_address instead.",
            "title": "Ship To Address",
            "type": [
              "string",
              "null"
            ]
          },
          "billing_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaIn"
              },
              {
                "type": "null"
              }
            ]
          },
          "shipping_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaIn"
              },
              {
                "type": "null"
              }
            ]
          },
          "custom_fields": {
            "title": "Custom Fields",
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "title": "Transaction Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "origin": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Origin"
              }
            ],
            "default": "manual"
          },
          "items": {
            "title": "Items",
            "items": {
              "$ref": "#/components/schemas/InvoiceItemIn"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "discount_type": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DiscountType"
              },
              {
                "type": "null"
              }
            ]
          },
          "discount_value": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Discount Value"
          },
          "memo": {
            "title": "Memo",
            "type": [
              "string",
              "null"
            ]
          },
          "due_date": {
            "title": "Due Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "customer_id": {
            "title": "Customer Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "currency_iso_4217_code": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              {
                "type": "null"
              }
            ]
          },
          "exchange_rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Exchange Rate"
          },
          "sales_order_id": {
            "title": "Sales Order Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/AttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "record_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RecordStatus"
              }
            ],
            "default": "posted"
          },
          "contracted": {
            "default": false,
            "title": "Contracted",
            "type": "boolean"
          },
          "contract_id": {
            "title": "Contract Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "term_id": {
            "title": "Term Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "reference_number": {
            "default": "",
            "title": "Reference Number",
            "type": "string"
          },
          "ar_account_id": {
            "title": "Ar Account Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "payment": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PaymentSchemaIn"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "date"
        ],
        "title": "InvoiceSchemaCreateIn",
        "type": "object"
      },
      "Origin": {
        "enum": [
          "manual",
          "integration",
          "initial_sync"
        ],
        "title": "Origin",
        "type": "string"
      },
      "PerformanceObligationIn": {
        "description": "Input schema for performance obligation (contract line item).",
        "properties": {
          "id": {
            "title": "Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "item_id": {
            "title": "Item Id",
            "minimum": 1,
            "type": [
              "integer",
              "null"
            ]
          },
          "quantity": {
            "anyOf": [
              {
                "minimum": 0,
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Quantity"
          },
          "rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,10}0*$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Rate"
          },
          "position": {
            "default": 0,
            "title": "Position",
            "type": "integer"
          },
          "memo": {
            "default": "",
            "maxLength": 512,
            "title": "Memo",
            "type": "string"
          },
          "standalone_selling_price": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,10}0*$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Standalone Selling Price"
          },
          "term_id": {
            "title": "Term Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "billing_group": {
            "default": 1,
            "minimum": 1,
            "title": "Billing Group",
            "type": "integer"
          },
          "recognition_strategy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RecognitionStrategy"
              }
            ],
            "default": "straight_line"
          },
          "obligation_conditions": {
            "additionalProperties": true,
            "title": "Obligation Conditions",
            "type": "object"
          },
          "classifications": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/RecordClassificationsSchemaOut"
            },
            "title": "Classifications",
            "type": "array"
          },
          "billing_start_date": {
            "title": "Billing Start Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "billing_end_date": {
            "title": "Billing End Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "billing_frequency": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/BillingCadence"
              },
              {
                "type": "null"
              }
            ]
          },
          "billing_interval": {
            "title": "Billing Interval",
            "type": [
              "integer",
              "null"
            ]
          },
          "sync_billing_with_recognition": {
            "default": false,
            "title": "Sync Billing With Recognition",
            "type": "boolean"
          },
          "skip_invoice_generation": {
            "default": false,
            "title": "Skip Invoice Generation",
            "type": "boolean"
          },
          "recognition_start_date": {
            "title": "Recognition Start Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "recognition_end_date": {
            "title": "Recognition End Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "recognition_frequency": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RecognitionCadence"
              },
              {
                "type": "null"
              }
            ]
          },
          "recognition_interval": {
            "title": "Recognition Interval",
            "type": [
              "integer",
              "null"
            ]
          },
          "discount_type": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DiscountType"
              },
              {
                "type": "null"
              }
            ]
          },
          "discount_value": {
            "anyOf": [
              {
                "exclusiveMinimum": 0,
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Discount Value"
          },
          "selected_vat_rate_id": {
            "title": "Selected Vat Rate Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "selected_gst_tax_rate_id": {
            "title": "Selected Gst Tax Rate Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "is_auto_renewable": {
            "default": false,
            "title": "Is Auto Renewable",
            "type": "boolean"
          }
        },
        "title": "PerformanceObligationIn",
        "type": "object"
      },
      "RevenueRecognitionSchemaCreateIn": {
        "properties": {
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "title": "Transaction Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "amount": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
                "type": "string"
              }
            ],
            "title": "Amount"
          },
          "record_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RecordStatus"
              }
            ],
            "default": "posted"
          },
          "performance_obligation_id": {
            "title": "Performance Obligation Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "income_account_id": {
            "title": "Income Account Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "deferral_account_id": {
            "title": "Deferral Account Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "gross_amount": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gross Amount"
          },
          "discount_amount": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Discount Amount"
          }
        },
        "required": [
          "date",
          "amount"
        ],
        "title": "RevenueRecognitionSchemaCreateIn",
        "type": "object"
      },
      "ObligationUsageBatchIn": {
        "description": "Batch input for creating/updating multiple usage records.",
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/ObligationUsageItemIn"
            },
            "title": "Items",
            "type": "array"
          }
        },
        "required": [
          "items"
        ],
        "title": "ObligationUsageBatchIn",
        "type": "object"
      },
      "ObligationUsageItemIn": {
        "description": "Single usage item within a batch.",
        "properties": {
          "id": {
            "title": "Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "obligation_id": {
            "title": "Obligation Id",
            "type": "integer"
          },
          "usage_date": {
            "format": "date",
            "title": "Usage Date",
            "type": "string"
          },
          "quantity": {
            "anyOf": [
              {
                "exclusiveMinimum": 0,
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
                "type": "string"
              }
            ],
            "title": "Quantity"
          },
          "rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,10}0*$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Rate"
          },
          "status": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ObligationUsageStatus"
              },
              {
                "type": "null"
              }
            ]
          },
          "memo": {
            "title": "Memo",
            "type": [
              "string",
              "null"
            ]
          },
          "classifications": {
            "title": "Classifications",
            "items": {
              "$ref": "#/components/schemas/RecordClassificationsSchemaOut"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "obligation_id",
          "usage_date",
          "quantity"
        ],
        "title": "ObligationUsageItemIn",
        "type": "object"
      },
      "CustomerListFilterSchema": {
        "properties": {
          "search": {
            "title": "Search",
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "q": "id__in",
            "title": "Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "company_id": {
            "q": "company__id__in",
            "title": "Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "customer_type": {
            "q": "customer_type__in",
            "title": "Customer Type",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "name": {
            "q": "name__icontains",
            "title": "Name",
            "type": [
              "string",
              "null"
            ]
          },
          "name_exact": {
            "q": "name__iexact",
            "title": "Name Exact",
            "type": [
              "string",
              "null"
            ]
          },
          "unique_id": {
            "q": "unique_id__iexact",
            "title": "Unique Id",
            "type": [
              "string",
              "null"
            ]
          },
          "email": {
            "q": "email__icontains",
            "title": "Email",
            "type": [
              "string",
              "null"
            ]
          },
          "website": {
            "q": "website__icontains",
            "title": "Website",
            "type": [
              "string",
              "null"
            ]
          },
          "address": {
            "q": "address__icontains",
            "title": "Address",
            "type": [
              "string",
              "null"
            ]
          },
          "country": {
            "q": "country__icontains",
            "title": "Country",
            "type": [
              "string",
              "null"
            ]
          },
          "state": {
            "q": "address_obj__state__icontains",
            "title": "State",
            "type": [
              "string",
              "null"
            ]
          },
          "phone": {
            "q": "phone__icontains",
            "title": "Phone",
            "type": [
              "string",
              "null"
            ]
          },
          "record_status": {
            "q": "record_status__in",
            "title": "Record Status",
            "items": {
              "$ref": "#/components/schemas/RecordStatus"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "approval_status": {
            "title": "Approval Status",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "approval_status_scope": {
            "title": "Approval Status Scope",
            "items": {
              "$ref": "#/components/schemas/RecordStatus"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "title": "CustomerListFilterSchema",
        "type": "object"
      },
      "CustomerListSchemaOut": {
        "properties": {
          "custom_fields": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/CustomFieldValuePairOutputSchema"
            },
            "title": "Custom Fields",
            "type": "array"
          },
          "created_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "updated_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "approval_status": {
            "title": "Approval Status",
            "type": [
              "string",
              "null"
            ]
          },
          "next_approvers": {
            "title": "Next Approvers",
            "items": {
              "$ref": "#/components/schemas/ApproverDictSchema"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "rejected_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RejectedBySchema"
              },
              {
                "type": "null"
              }
            ]
          },
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "full_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaIn"
              },
              {
                "type": "null"
              }
            ]
          },
          "shipping_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaIn"
              },
              {
                "type": "null"
              }
            ]
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "unique_id": {
            "title": "Unique Id",
            "type": [
              "string",
              "null"
            ]
          },
          "email": {
            "title": "Email",
            "type": "string"
          },
          "website": {
            "title": "Website",
            "type": "string"
          },
          "customer_type": {
            "title": "Customer Type",
            "type": "string"
          },
          "is_active": {
            "title": "Is Active",
            "type": "boolean"
          },
          "phone": {
            "title": "Phone",
            "type": "string"
          }
        },
        "required": [
          "id",
          "full_address",
          "shipping_address",
          "name",
          "unique_id",
          "email",
          "website",
          "customer_type",
          "is_active",
          "phone"
        ],
        "title": "CustomerListSchemaOut",
        "type": "object"
      },
      "PagedCustomerListSchemaOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/CustomerListSchemaOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedCustomerListSchemaOut",
        "type": "object"
      },
      "CustomerSchemaOut": {
        "properties": {
          "custom_fields": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/CustomFieldValuePairOutputSchema"
            },
            "title": "Custom Fields",
            "type": "array"
          },
          "created_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "updated_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "approval_status": {
            "title": "Approval Status",
            "type": [
              "string",
              "null"
            ]
          },
          "next_approvers": {
            "title": "Next Approvers",
            "items": {
              "$ref": "#/components/schemas/ApproverDictSchema"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "rejected_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RejectedBySchema"
              },
              {
                "type": "null"
              }
            ]
          },
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "address": {
            "title": "Address",
            "type": "string"
          },
          "country": {
            "title": "Country",
            "type": "string"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "unique_id": {
            "title": "Unique Id",
            "type": [
              "string",
              "null"
            ]
          },
          "website": {
            "title": "Website",
            "type": "string"
          },
          "email": {
            "title": "Email",
            "type": "string"
          },
          "customer_type": {
            "title": "Customer Type",
            "type": "string"
          },
          "is_active": {
            "title": "Is Active",
            "type": "boolean"
          },
          "phone": {
            "title": "Phone",
            "type": "string"
          },
          "record_status": {
            "title": "Record Status",
            "type": "string"
          },
          "is_taxable": {
            "title": "Is Taxable",
            "type": "boolean"
          },
          "default_tax_code": {
            "title": "Default Tax Code",
            "type": "string"
          },
          "tax_registration_number": {
            "title": "Tax Registration Number",
            "type": "string"
          },
          "default_currency": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              {
                "const": "",
                "type": "string"
              }
            ],
            "title": "Default Currency"
          },
          "shipping_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaIn"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "id",
          "address",
          "country",
          "name",
          "unique_id",
          "website",
          "email",
          "customer_type",
          "is_active",
          "phone",
          "record_status",
          "is_taxable",
          "default_tax_code",
          "tax_registration_number",
          "default_currency"
        ],
        "title": "CustomerSchemaOut",
        "type": "object"
      },
      "CustomerSchemaCreateIn": {
        "properties": {
          "custom_fields": {
            "title": "Custom Fields",
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "unique_id": {
            "title": "Unique Id",
            "maxLength": 64,
            "minLength": 1,
            "type": [
              "string",
              "null"
            ]
          },
          "email": {
            "title": "Email",
            "type": "string"
          },
          "address": {
            "title": "Address",
            "type": "string"
          },
          "country": {
            "title": "Country",
            "type": "string"
          },
          "phone": {
            "maxLength": 64,
            "pattern": "^[0-9\\s\\+\\-\\.\\(\\)]*$",
            "title": "Phone",
            "type": "string"
          },
          "website": {
            "title": "Website",
            "type": "string"
          },
          "full_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaIn"
              },
              {
                "type": "null"
              }
            ]
          },
          "shipping_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaIn"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "name",
          "email",
          "address",
          "country",
          "phone",
          "website"
        ],
        "title": "CustomerSchemaCreateIn",
        "type": "object"
      },
      "CustomerSchemaUpdateIn": {
        "description": "Partial update payload for PUT /public/customers/{id}/.\n\nEvery field is optional: send only the fields you want to change.\nUnset fields are left untouched on the existing record. This is the\npartial-update semantic clients expect from a modern REST API.",
        "properties": {
          "custom_fields": {
            "title": "Custom Fields",
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "name": {
            "title": "Name",
            "type": [
              "string",
              "null"
            ]
          },
          "unique_id": {
            "title": "Unique Id",
            "maxLength": 64,
            "minLength": 1,
            "type": [
              "string",
              "null"
            ]
          },
          "email": {
            "title": "Email",
            "type": [
              "string",
              "null"
            ]
          },
          "address": {
            "title": "Address",
            "type": [
              "string",
              "null"
            ]
          },
          "country": {
            "title": "Country",
            "type": [
              "string",
              "null"
            ]
          },
          "phone": {
            "title": "Phone",
            "maxLength": 64,
            "pattern": "^[0-9\\s\\+\\-\\.\\(\\)]*$",
            "type": [
              "string",
              "null"
            ]
          },
          "website": {
            "title": "Website",
            "type": [
              "string",
              "null"
            ]
          },
          "full_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaIn"
              },
              {
                "type": "null"
              }
            ]
          },
          "shipping_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaIn"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "title": "CustomerSchemaUpdateIn",
        "type": "object"
      },
      "CustomerSchemaPatchIn": {
        "description": "Partial update payload for PATCH /public/customers/{id}/.\n\nEvery field is optional: send only the fields you want to change.\nUnset fields are left untouched on the existing record.",
        "properties": {
          "custom_fields": {
            "title": "Custom Fields",
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "name": {
            "title": "Name",
            "type": [
              "string",
              "null"
            ]
          },
          "unique_id": {
            "title": "Unique Id",
            "maxLength": 64,
            "minLength": 1,
            "type": [
              "string",
              "null"
            ]
          },
          "email": {
            "title": "Email",
            "type": [
              "string",
              "null"
            ]
          },
          "address": {
            "title": "Address",
            "type": [
              "string",
              "null"
            ]
          },
          "country": {
            "title": "Country",
            "type": [
              "string",
              "null"
            ]
          },
          "phone": {
            "title": "Phone",
            "maxLength": 64,
            "pattern": "^[0-9\\s\\+\\-\\.\\(\\)]*$",
            "type": [
              "string",
              "null"
            ]
          },
          "website": {
            "title": "Website",
            "type": [
              "string",
              "null"
            ]
          },
          "full_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaIn"
              },
              {
                "type": "null"
              }
            ]
          },
          "shipping_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaIn"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "title": "CustomerSchemaPatchIn",
        "type": "object"
      },
      "ItemTypes": {
        "enum": [
          "good",
          "service",
          "discount"
        ],
        "title": "ItemTypes",
        "type": "string"
      },
      "PublicItemListFilterSchema": {
        "properties": {
          "search": {
            "title": "Search",
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "q": "id__in",
            "title": "Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "name": {
            "q": "name__icontains",
            "title": "Name",
            "type": [
              "string",
              "null"
            ]
          },
          "item_type": {
            "q": "item_type__in",
            "title": "Item Type",
            "items": {
              "$ref": "#/components/schemas/ItemTypes"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "no_income_account": {
            "q": "income_account__isnull",
            "title": "No Income Account",
            "type": [
              "boolean",
              "null"
            ]
          },
          "no_expense_account": {
            "q": "expense_account__isnull",
            "title": "No Expense Account",
            "type": [
              "boolean",
              "null"
            ]
          },
          "no_deferral_account": {
            "q": "deferral_account__isnull",
            "title": "No Deferral Account",
            "type": [
              "boolean",
              "null"
            ]
          },
          "no_asset_account": {
            "q": "asset_account__isnull",
            "title": "No Asset Account",
            "type": [
              "boolean",
              "null"
            ]
          },
          "no_discount_account": {
            "q": "discount_account__isnull",
            "title": "No Discount Account",
            "type": [
              "boolean",
              "null"
            ]
          },
          "expense_account_id": {
            "q": "expense_account_id__in",
            "title": "Expense Account Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "income_account_id": {
            "q": "income_account_id__in",
            "title": "Income Account Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "deferral_account_id": {
            "q": "deferral_account_id__in",
            "title": "Deferral Account Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "asset_account_id": {
            "q": "asset_account_id__in",
            "title": "Asset Account Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "product_tax_code_id": {
            "q": "product_tax_code_id__in",
            "title": "Product Tax Code Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "discount_account_id": {
            "q": "discount_account_id__in",
            "title": "Discount Account Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "is_active": {
            "q": "is_active",
            "title": "Is Active",
            "type": [
              "boolean",
              "null"
            ]
          },
          "record_status": {
            "q": "record_status__in",
            "title": "Record Status",
            "items": {
              "$ref": "#/components/schemas/RecordStatus"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "title": "PublicItemListFilterSchema",
        "type": "object"
      },
      "PagedPublicItemSchemaOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicItemSchemaOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicItemSchemaOut",
        "type": "object"
      },
      "PublicItemSchemaOut": {
        "properties": {
          "created_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "updated_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "sku": {
            "title": "Sku",
            "type": "string"
          },
          "description": {
            "title": "Description",
            "type": "string"
          },
          "item_type": {
            "$ref": "#/components/schemas/ItemTypes"
          },
          "is_active": {
            "title": "Is Active",
            "type": "boolean"
          },
          "record_status": {
            "$ref": "#/components/schemas/RecordStatus"
          },
          "product_tax_code_id": {
            "title": "Product Tax Code Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "expense_account_id": {
            "title": "Expense Account Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "income_account_id": {
            "title": "Income Account Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "deferral_account_id": {
            "title": "Deferral Account Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "asset_account_id": {
            "title": "Asset Account Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "discount_account_id": {
            "title": "Discount Account Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "default_classification_line_ids": {
            "title": "Default Classification Line Ids",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "default_rev_rec_method": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RecognitionStrategy"
              },
              {
                "type": "null"
              }
            ]
          },
          "default_rev_rec_invoice_frequency": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/BillingCadence"
              },
              {
                "type": "null"
              }
            ]
          },
          "default_rev_rec_invoice_interval": {
            "title": "Default Rev Rec Invoice Interval",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "name",
          "sku",
          "description",
          "item_type",
          "is_active",
          "record_status"
        ],
        "title": "PublicItemSchemaOut",
        "type": "object"
      },
      "PublicItemSchemaCreateIn": {
        "properties": {
          "name": {
            "maxLength": 256,
            "minLength": 2,
            "title": "Name",
            "type": "string"
          },
          "is_active": {
            "title": "Is Active",
            "type": "boolean"
          },
          "sku": {
            "maxLength": 64,
            "minLength": 1,
            "title": "Sku",
            "type": "string"
          },
          "description": {
            "default": "",
            "maxLength": 512,
            "minLength": 0,
            "title": "Description",
            "type": "string"
          },
          "item_type": {
            "$ref": "#/components/schemas/ItemTypes"
          },
          "record_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RecordStatus"
              }
            ],
            "default": "posted"
          },
          "product_tax_code_id": {
            "title": "Product Tax Code Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "expense_account_id": {
            "title": "Expense Account Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "income_account_id": {
            "title": "Income Account Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "deferral_account_id": {
            "title": "Deferral Account Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "asset_account_id": {
            "title": "Asset Account Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "discount_account_id": {
            "title": "Discount Account Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "default_classification_line_ids": {
            "title": "Default Classification Line Ids",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "default_rev_rec_method": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RecognitionStrategy"
              },
              {
                "type": "null"
              }
            ]
          },
          "default_rev_rec_invoice_frequency": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/BillingCadence"
              },
              {
                "type": "null"
              }
            ]
          },
          "default_rev_rec_invoice_interval": {
            "title": "Default Rev Rec Invoice Interval",
            "minimum": 1,
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "name",
          "is_active",
          "sku",
          "item_type"
        ],
        "title": "PublicItemSchemaCreateIn",
        "type": "object"
      },
      "PublicItemSchemaUpdateIn": {
        "properties": {
          "name": {
            "maxLength": 256,
            "minLength": 2,
            "title": "Name",
            "type": "string"
          },
          "is_active": {
            "title": "Is Active",
            "type": "boolean"
          },
          "sku": {
            "maxLength": 64,
            "minLength": 1,
            "title": "Sku",
            "type": "string"
          },
          "description": {
            "default": "",
            "maxLength": 512,
            "minLength": 0,
            "title": "Description",
            "type": "string"
          },
          "item_type": {
            "$ref": "#/components/schemas/ItemTypes"
          },
          "record_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RecordStatus"
              }
            ],
            "default": "posted"
          },
          "product_tax_code_id": {
            "title": "Product Tax Code Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "expense_account_id": {
            "title": "Expense Account Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "income_account_id": {
            "title": "Income Account Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "deferral_account_id": {
            "title": "Deferral Account Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "asset_account_id": {
            "title": "Asset Account Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "discount_account_id": {
            "title": "Discount Account Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "default_classification_line_ids": {
            "title": "Default Classification Line Ids",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "default_rev_rec_method": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RecognitionStrategy"
              },
              {
                "type": "null"
              }
            ]
          },
          "default_rev_rec_invoice_frequency": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/BillingCadence"
              },
              {
                "type": "null"
              }
            ]
          },
          "default_rev_rec_invoice_interval": {
            "title": "Default Rev Rec Invoice Interval",
            "minimum": 1,
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "name",
          "is_active",
          "sku",
          "item_type"
        ],
        "title": "PublicItemSchemaUpdateIn",
        "type": "object"
      },
      "ListView": {
        "enum": [
          "compact"
        ],
        "title": "ListView",
        "type": "string"
      },
      "PublicVendorListFilterSchema": {
        "properties": {
          "search": {
            "title": "Search",
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "q": "id__in",
            "title": "Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "vendor_type": {
            "q": "vendor_type__in",
            "title": "Vendor Type",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "name": {
            "q": "name__icontains",
            "title": "Name",
            "type": [
              "string",
              "null"
            ]
          },
          "unique_id": {
            "q": "unique_id__iexact",
            "title": "Unique Id",
            "type": [
              "string",
              "null"
            ]
          },
          "email": {
            "q": "email__icontains",
            "title": "Email",
            "type": [
              "string",
              "null"
            ]
          },
          "website": {
            "q": "website__icontains",
            "title": "Website",
            "type": [
              "string",
              "null"
            ]
          },
          "single_address": {
            "q": "single_address__icontains",
            "title": "Single Address",
            "type": [
              "string",
              "null"
            ]
          },
          "country": {
            "q": "country__icontains",
            "title": "Country",
            "type": [
              "string",
              "null"
            ]
          },
          "state": {
            "q": "address__state__icontains",
            "title": "State",
            "type": [
              "string",
              "null"
            ]
          },
          "phone": {
            "q": "phone__icontains",
            "title": "Phone",
            "type": [
              "string",
              "null"
            ]
          },
          "is_active": {
            "title": "Is Active",
            "type": [
              "boolean",
              "null"
            ]
          },
          "is_1099_eligible": {
            "title": "Is 1099 Eligible",
            "type": [
              "boolean",
              "null"
            ]
          },
          "tin": {
            "q": "tin__icontains",
            "title": "Tin",
            "type": [
              "string",
              "null"
            ]
          },
          "record_status": {
            "q": "record_status__in",
            "title": "Record Status",
            "items": {
              "$ref": "#/components/schemas/RecordStatus"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "company_id": {
            "q": "company__id__in",
            "title": "Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "exclude_company_id": {
            "title": "Exclude Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "names": {
            "q": "name__in",
            "title": "Names",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "start_date": {
            "q": "created_at__date__gte",
            "title": "Start Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "end_date": {
            "q": "created_at__date__lte",
            "title": "End Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "approval_status": {
            "title": "Approval Status",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "approval_status_scope": {
            "title": "Approval Status Scope",
            "items": {
              "$ref": "#/components/schemas/RecordStatus"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "view": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ListView"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "title": "PublicVendorListFilterSchema",
        "type": "object"
      },
      "PagedPublicVendorListSchemaOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicVendorListSchemaOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicVendorListSchemaOut",
        "type": "object"
      },
      "PublicVendorListAddressSchemaOut": {
        "properties": {
          "street": {
            "default": "",
            "title": "Street",
            "type": "string"
          },
          "city": {
            "default": "",
            "title": "City",
            "type": "string"
          },
          "state": {
            "default": "",
            "title": "State",
            "type": "string"
          },
          "postal_code": {
            "default": "",
            "title": "Postal Code",
            "type": "string"
          },
          "country": {
            "anyOf": [
              {
                "const": "",
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/SystemCountries"
              }
            ],
            "default": "",
            "title": "Country"
          },
          "second_line": {
            "default": "",
            "title": "Second Line",
            "type": "string"
          }
        },
        "title": "PublicVendorListAddressSchemaOut",
        "type": "object"
      },
      "PublicVendorListSchemaOut": {
        "properties": {
          "custom_fields": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/CustomFieldValuePairOutputSchema"
            },
            "title": "Custom Fields",
            "type": "array"
          },
          "created_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "updated_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "approval_status": {
            "title": "Approval Status",
            "type": [
              "string",
              "null"
            ]
          },
          "next_approvers": {
            "title": "Next Approvers",
            "items": {
              "$ref": "#/components/schemas/ApproverDictSchema"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "rejected_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RejectedBySchema"
              },
              {
                "type": "null"
              }
            ]
          },
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PublicVendorListAddressSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "vendor_type": {
            "title": "Vendor Type",
            "type": "string"
          },
          "company_id": {
            "title": "Company Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "company_name": {
            "title": "Company Name",
            "type": [
              "string",
              "null"
            ]
          },
          "customer_account_number": {
            "default": "",
            "title": "Customer Account Number",
            "type": "string"
          },
          "single_address": {
            "title": "Single Address",
            "maxLength": 2048,
            "type": [
              "string",
              "null"
            ]
          },
          "country": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCountries"
              },
              {
                "const": "",
                "type": "string"
              }
            ],
            "default": "",
            "maxLength": 2,
            "title": "Country"
          },
          "name": {
            "maxLength": 255,
            "title": "Name",
            "type": "string"
          },
          "unique_id": {
            "description": "External identifier supplied by the user to disambiguate vendors that share a display name (e.g. an ID from another system).",
            "title": "Unique Id",
            "maxLength": 64,
            "type": [
              "string",
              "null"
            ]
          },
          "website": {
            "title": "Website",
            "maxLength": 128,
            "type": [
              "string",
              "null"
            ]
          },
          "email": {
            "title": "Email",
            "maxLength": 128,
            "type": [
              "string",
              "null"
            ]
          },
          "is_active": {
            "default": true,
            "title": "Is Active",
            "type": "boolean"
          },
          "phone": {
            "title": "Phone",
            "maxLength": 64,
            "type": [
              "string",
              "null"
            ]
          },
          "is_1099_eligible": {
            "default": false,
            "title": "Is 1099 Eligible",
            "type": "boolean"
          },
          "tin": {
            "title": "Tin",
            "type": [
              "string",
              "null"
            ]
          },
          "tin_type": {
            "default": "",
            "title": "Tin Type",
            "type": [
              "string",
              "null"
            ]
          },
          "record_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RecordStatus"
              }
            ],
            "default": "posted",
            "title": "Record Status"
          }
        },
        "required": [
          "id",
          "address",
          "vendor_type",
          "name"
        ],
        "title": "PublicVendorListSchemaOut",
        "type": "object"
      },
      "BankAccountType": {
        "enum": [
          "checking",
          "savings"
        ],
        "title": "BankAccountType",
        "type": "string"
      },
      "PublicVendorSchemaOut": {
        "properties": {
          "custom_fields": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/CustomFieldValuePairOutputSchema"
            },
            "title": "Custom Fields",
            "type": "array"
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicAttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "term_id": {
            "title": "Term Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "term_name": {
            "title": "Term Name",
            "type": "string"
          },
          "preferred_payment_method_id": {
            "title": "Preferred Payment Method Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "preferred_payment_method_name": {
            "title": "Preferred Payment Method Name",
            "type": "string"
          },
          "created_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "updated_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "approval_status": {
            "title": "Approval Status",
            "type": [
              "string",
              "null"
            ]
          },
          "next_approvers": {
            "title": "Next Approvers",
            "items": {
              "$ref": "#/components/schemas/ApproverDictSchema"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "rejected_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RejectedBySchema"
              },
              {
                "type": "null"
              }
            ]
          },
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaIn"
              },
              {
                "type": "null"
              }
            ]
          },
          "vendor_type": {
            "title": "Vendor Type",
            "type": "string"
          },
          "company_id": {
            "title": "Company Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "company_name": {
            "title": "Company Name",
            "type": [
              "string",
              "null"
            ]
          },
          "customer_account_number": {
            "default": "",
            "title": "Customer Account Number",
            "type": "string"
          },
          "name_on_check": {
            "default": "",
            "title": "Name On Check",
            "type": "string"
          },
          "bank_account_number": {
            "default": "",
            "title": "Bank Account Number",
            "type": "string"
          },
          "bank_routing_number": {
            "default": "",
            "title": "Bank Routing Number",
            "type": "string"
          },
          "bank_account_type": {
            "anyOf": [
              {
                "const": "",
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/BankAccountType"
              }
            ],
            "default": "",
            "title": "Bank Account Type"
          },
          "single_address": {
            "title": "Single Address",
            "maxLength": 2048,
            "type": [
              "string",
              "null"
            ]
          },
          "country": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCountries"
              },
              {
                "const": "",
                "type": "string"
              }
            ],
            "default": "",
            "maxLength": 2,
            "title": "Country"
          },
          "name": {
            "maxLength": 255,
            "title": "Name",
            "type": "string"
          },
          "unique_id": {
            "description": "External identifier supplied by the user to disambiguate vendors that share a display name (e.g. an ID from another system).",
            "title": "Unique Id",
            "maxLength": 64,
            "type": [
              "string",
              "null"
            ]
          },
          "website": {
            "title": "Website",
            "maxLength": 128,
            "type": [
              "string",
              "null"
            ]
          },
          "email": {
            "title": "Email",
            "maxLength": 128,
            "type": [
              "string",
              "null"
            ]
          },
          "is_active": {
            "default": true,
            "title": "Is Active",
            "type": "boolean"
          },
          "phone": {
            "title": "Phone",
            "maxLength": 64,
            "type": [
              "string",
              "null"
            ]
          },
          "is_1099_eligible": {
            "default": false,
            "title": "Is 1099 Eligible",
            "type": "boolean"
          },
          "tin": {
            "title": "Tin",
            "type": [
              "string",
              "null"
            ]
          },
          "tin_type": {
            "default": "",
            "title": "Tin Type",
            "type": [
              "string",
              "null"
            ]
          },
          "record_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RecordStatus"
              }
            ],
            "default": "posted",
            "title": "Record Status"
          }
        },
        "required": [
          "term_id",
          "term_name",
          "preferred_payment_method_id",
          "preferred_payment_method_name",
          "id",
          "address",
          "vendor_type",
          "name"
        ],
        "title": "PublicVendorSchemaOut",
        "type": "object"
      },
      "PublicVendorSchemaCreateIn": {
        "properties": {
          "custom_fields": {
            "title": "Custom Fields",
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "is_active": {
            "title": "Is Active",
            "type": "boolean"
          },
          "vendor_type": {
            "$ref": "#/components/schemas/VendorTypes"
          },
          "name": {
            "maxLength": 255,
            "minLength": 2,
            "title": "Name",
            "type": "string"
          },
          "unique_id": {
            "title": "Unique Id",
            "maxLength": 64,
            "minLength": 1,
            "type": [
              "string",
              "null"
            ]
          },
          "email": {
            "maxLength": 128,
            "title": "Email",
            "type": "string"
          },
          "phone": {
            "maxLength": 64,
            "pattern": "^[0-9\\s\\+\\-\\.\\(\\)]*$",
            "title": "Phone",
            "type": "string"
          },
          "website": {
            "maxLength": 128,
            "title": "Website",
            "type": "string"
          },
          "single_address": {
            "default": "",
            "title": "Single Address",
            "maxLength": 2048,
            "type": [
              "string",
              "null"
            ]
          },
          "country": {
            "anyOf": [
              {
                "const": "",
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/SystemCountries"
              }
            ],
            "default": "",
            "title": "Country"
          },
          "is_1099_eligible": {
            "default": false,
            "title": "Is 1099 Eligible",
            "type": "boolean"
          },
          "address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaIn"
              },
              {
                "type": "null"
              }
            ]
          },
          "tin": {
            "default": "",
            "title": "Tin",
            "maxLength": 11,
            "type": [
              "string",
              "null"
            ]
          },
          "tin_type": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/TINType",
                "maxLength": 3
              },
              {
                "type": "null"
              }
            ],
            "default": ""
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/AttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "record_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RecordStatus"
              }
            ],
            "default": "posted"
          },
          "term_id": {
            "title": "Term Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "customer_account_number": {
            "default": "",
            "maxLength": 128,
            "title": "Customer Account Number",
            "type": "string"
          },
          "name_on_check": {
            "default": "",
            "maxLength": 255,
            "title": "Name On Check",
            "type": "string"
          },
          "preferred_payment_method_id": {
            "title": "Preferred Payment Method Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "bank_account_number": {
            "default": "",
            "maxLength": 34,
            "title": "Bank Account Number",
            "type": "string"
          },
          "bank_routing_number": {
            "default": "",
            "maxLength": 9,
            "title": "Bank Routing Number",
            "type": "string"
          },
          "bank_account_type": {
            "anyOf": [
              {
                "const": "",
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/BankAccountType"
              }
            ],
            "default": "",
            "title": "Bank Account Type"
          }
        },
        "required": [
          "is_active",
          "vendor_type",
          "name",
          "email",
          "phone",
          "website"
        ],
        "title": "PublicVendorSchemaCreateIn",
        "type": "object"
      },
      "TINType": {
        "enum": [
          "ein",
          "ssn",
          "utr"
        ],
        "title": "TINType",
        "type": "string"
      },
      "VendorTypes": {
        "enum": [
          "individual",
          "company",
          "intercompany",
          "tax_agency"
        ],
        "title": "VendorTypes",
        "type": "string"
      },
      "PublicVendorSchemaUpdateIn": {
        "description": "Partial update payload for PUT /public/vendors/{id}/.\n\nEvery field is optional: send only the fields you want to change.\nUnset fields are left untouched on the existing record.",
        "properties": {
          "custom_fields": {
            "title": "Custom Fields",
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "is_active": {
            "title": "Is Active",
            "type": [
              "boolean",
              "null"
            ]
          },
          "vendor_type": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/VendorTypes"
              },
              {
                "type": "null"
              }
            ]
          },
          "name": {
            "title": "Name",
            "maxLength": 255,
            "minLength": 2,
            "type": [
              "string",
              "null"
            ]
          },
          "unique_id": {
            "title": "Unique Id",
            "maxLength": 64,
            "minLength": 1,
            "type": [
              "string",
              "null"
            ]
          },
          "email": {
            "title": "Email",
            "maxLength": 128,
            "type": [
              "string",
              "null"
            ]
          },
          "phone": {
            "title": "Phone",
            "maxLength": 64,
            "pattern": "^[0-9\\s\\+\\-\\.\\(\\)]*$",
            "type": [
              "string",
              "null"
            ]
          },
          "website": {
            "title": "Website",
            "maxLength": 128,
            "type": [
              "string",
              "null"
            ]
          },
          "single_address": {
            "title": "Single Address",
            "maxLength": 2048,
            "type": [
              "string",
              "null"
            ]
          },
          "country": {
            "anyOf": [
              {
                "const": "",
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/SystemCountries"
              },
              {
                "type": "null"
              }
            ],
            "title": "Country"
          },
          "is_1099_eligible": {
            "title": "Is 1099 Eligible",
            "type": [
              "boolean",
              "null"
            ]
          },
          "address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaIn"
              },
              {
                "type": "null"
              }
            ]
          },
          "tin": {
            "title": "Tin",
            "maxLength": 11,
            "type": [
              "string",
              "null"
            ]
          },
          "tin_type": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/TINType",
                "maxLength": 3
              },
              {
                "type": "null"
              }
            ]
          },
          "attachments": {
            "title": "Attachments",
            "items": {
              "$ref": "#/components/schemas/AttachmentSchemaOut"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "record_status": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RecordStatus"
              },
              {
                "type": "null"
              }
            ]
          },
          "term_id": {
            "title": "Term Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "customer_account_number": {
            "title": "Customer Account Number",
            "maxLength": 128,
            "type": [
              "string",
              "null"
            ]
          },
          "name_on_check": {
            "title": "Name On Check",
            "maxLength": 255,
            "type": [
              "string",
              "null"
            ]
          },
          "preferred_payment_method_id": {
            "title": "Preferred Payment Method Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "bank_account_number": {
            "title": "Bank Account Number",
            "maxLength": 34,
            "type": [
              "string",
              "null"
            ]
          },
          "bank_routing_number": {
            "title": "Bank Routing Number",
            "maxLength": 9,
            "type": [
              "string",
              "null"
            ]
          },
          "bank_account_type": {
            "anyOf": [
              {
                "const": "",
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/BankAccountType"
              },
              {
                "type": "null"
              }
            ],
            "title": "Bank Account Type"
          }
        },
        "title": "PublicVendorSchemaUpdateIn",
        "type": "object"
      },
      "PublicVendorSchemaPatchIn": {
        "description": "Partial update payload for PATCH /public/vendors/{id}/.\n\nEvery field is optional: send only the fields you want to change.\nUnset fields are left untouched on the existing record.",
        "properties": {
          "custom_fields": {
            "title": "Custom Fields",
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "is_active": {
            "title": "Is Active",
            "type": [
              "boolean",
              "null"
            ]
          },
          "vendor_type": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/VendorTypes"
              },
              {
                "type": "null"
              }
            ]
          },
          "name": {
            "title": "Name",
            "maxLength": 255,
            "minLength": 2,
            "type": [
              "string",
              "null"
            ]
          },
          "unique_id": {
            "title": "Unique Id",
            "maxLength": 64,
            "minLength": 1,
            "type": [
              "string",
              "null"
            ]
          },
          "email": {
            "title": "Email",
            "maxLength": 128,
            "type": [
              "string",
              "null"
            ]
          },
          "phone": {
            "title": "Phone",
            "maxLength": 64,
            "pattern": "^[0-9\\s\\+\\-\\.\\(\\)]*$",
            "type": [
              "string",
              "null"
            ]
          },
          "website": {
            "title": "Website",
            "maxLength": 128,
            "type": [
              "string",
              "null"
            ]
          },
          "single_address": {
            "title": "Single Address",
            "maxLength": 2048,
            "type": [
              "string",
              "null"
            ]
          },
          "country": {
            "anyOf": [
              {
                "const": "",
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/SystemCountries"
              },
              {
                "type": "null"
              }
            ],
            "title": "Country"
          },
          "is_1099_eligible": {
            "title": "Is 1099 Eligible",
            "type": [
              "boolean",
              "null"
            ]
          },
          "address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaIn"
              },
              {
                "type": "null"
              }
            ]
          },
          "tin": {
            "title": "Tin",
            "maxLength": 11,
            "type": [
              "string",
              "null"
            ]
          },
          "tin_type": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/TINType",
                "maxLength": 3
              },
              {
                "type": "null"
              }
            ]
          },
          "attachments": {
            "title": "Attachments",
            "items": {
              "$ref": "#/components/schemas/AttachmentSchemaOut"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "record_status": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RecordStatus"
              },
              {
                "type": "null"
              }
            ]
          },
          "term_id": {
            "title": "Term Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "customer_account_number": {
            "title": "Customer Account Number",
            "maxLength": 128,
            "type": [
              "string",
              "null"
            ]
          },
          "name_on_check": {
            "title": "Name On Check",
            "maxLength": 255,
            "type": [
              "string",
              "null"
            ]
          },
          "preferred_payment_method_id": {
            "title": "Preferred Payment Method Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "bank_account_number": {
            "title": "Bank Account Number",
            "maxLength": 34,
            "type": [
              "string",
              "null"
            ]
          },
          "bank_routing_number": {
            "title": "Bank Routing Number",
            "maxLength": 9,
            "type": [
              "string",
              "null"
            ]
          },
          "bank_account_type": {
            "anyOf": [
              {
                "const": "",
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/BankAccountType"
              },
              {
                "type": "null"
              }
            ],
            "title": "Bank Account Type"
          }
        },
        "title": "PublicVendorSchemaPatchIn",
        "type": "object"
      },
      "PublicClassificationListFilterSchema": {
        "properties": {
          "search": {
            "title": "Search",
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "q": "id__in",
            "title": "Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "name": {
            "q": "name__icontains",
            "title": "Name",
            "type": [
              "string",
              "null"
            ]
          },
          "is_active": {
            "title": "Is Active",
            "type": [
              "boolean",
              "null"
            ]
          },
          "is_required": {
            "title": "Is Required",
            "type": [
              "boolean",
              "null"
            ]
          }
        },
        "title": "PublicClassificationListFilterSchema",
        "type": "object"
      },
      "PagedPublicClassificationSchemaOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicClassificationSchemaOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicClassificationSchemaOut",
        "type": "object"
      },
      "PublicClassifiableRecords": {
        "enum": [
          "purchase_order",
          "sales_order",
          "cash_sale",
          "invoice",
          "bill",
          "direct_expense",
          "vendor_credit",
          "journal_entry",
          "intercompany_journal_entry",
          "customer_credit",
          "customer_deposit",
          "statistical_journal"
        ],
        "title": "PublicClassifiableRecords",
        "type": "string"
      },
      "PublicClassificationSchemaOut": {
        "properties": {
          "created_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "updated_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "selections": {
            "items": {
              "$ref": "#/components/schemas/PublicSelectionItemOut"
            },
            "title": "Selections",
            "type": "array"
          },
          "required_for_records": {
            "items": {
              "$ref": "#/components/schemas/PublicClassifiableRecords"
            },
            "title": "Required For Records",
            "type": "array"
          },
          "parent_id": {
            "title": "Parent Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "parent_name": {
            "title": "Parent Name",
            "type": [
              "string",
              "null"
            ]
          },
          "name": {
            "maxLength": 128,
            "title": "Name",
            "type": "string"
          },
          "is_active": {
            "default": true,
            "title": "Is Active",
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "selections",
          "required_for_records",
          "parent_id",
          "parent_name",
          "name"
        ],
        "title": "PublicClassificationSchemaOut",
        "type": "object"
      },
      "PublicSelectionItemOut": {
        "properties": {
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "name": {
            "maxLength": 128,
            "minLength": 2,
            "title": "Name",
            "type": "string"
          },
          "is_active": {
            "title": "Is Active",
            "type": "boolean"
          },
          "parent_id": {
            "title": "Parent Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "parent_name": {
            "title": "Parent Name",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "name",
          "is_active",
          "parent_id",
          "parent_name"
        ],
        "title": "PublicSelectionItemOut",
        "type": "object"
      },
      "PublicClassificationSchemaCreateIn": {
        "properties": {
          "id": {
            "title": "Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "name": {
            "maxLength": 128,
            "minLength": 2,
            "title": "Name",
            "type": "string"
          },
          "is_active": {
            "title": "Is Active",
            "type": "boolean"
          },
          "selections": {
            "items": {
              "$ref": "#/components/schemas/PublicSelectionItemIn"
            },
            "title": "Selections",
            "type": "array"
          },
          "required_for_records": {
            "items": {
              "$ref": "#/components/schemas/PublicClassifiableRecords"
            },
            "title": "Required For Records",
            "type": "array"
          },
          "parent_id": {
            "title": "Parent Id",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "name",
          "is_active",
          "selections",
          "required_for_records",
          "parent_id"
        ],
        "title": "PublicClassificationSchemaCreateIn",
        "type": "object"
      },
      "PublicSelectionItemIn": {
        "properties": {
          "id": {
            "title": "Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "name": {
            "maxLength": 128,
            "minLength": 2,
            "title": "Name",
            "type": "string"
          },
          "is_active": {
            "title": "Is Active",
            "type": "boolean"
          },
          "parent_id": {
            "title": "Parent Id",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "name",
          "is_active",
          "parent_id"
        ],
        "title": "PublicSelectionItemIn",
        "type": "object"
      },
      "PublicClassificationSchemaUpdateIn": {
        "properties": {
          "id": {
            "title": "Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "name": {
            "maxLength": 128,
            "minLength": 2,
            "title": "Name",
            "type": "string"
          },
          "is_active": {
            "title": "Is Active",
            "type": "boolean"
          },
          "selections": {
            "items": {
              "$ref": "#/components/schemas/PublicSelectionItemIn"
            },
            "title": "Selections",
            "type": "array"
          },
          "required_for_records": {
            "items": {
              "$ref": "#/components/schemas/PublicClassifiableRecords"
            },
            "title": "Required For Records",
            "type": "array"
          },
          "parent_id": {
            "title": "Parent Id",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "name",
          "is_active",
          "selections",
          "required_for_records",
          "parent_id"
        ],
        "title": "PublicClassificationSchemaUpdateIn",
        "type": "object"
      },
      "PublicClassificationSchemaPatchIn": {
        "description": "Partial update payload for PATCH /public/classifications/{id}/.\n\nEvery field is optional: send only the fields you want to change.\nUnset fields are left untouched on the existing record.\n\nNote on list fields:\n\n- `selections` absent → existing classification lines are preserved.\n  Sending `[]` deletes all existing lines.\n- `required_for_records` absent → existing record-type associations\n  are preserved. Sending `[]` removes them all.",
        "properties": {
          "name": {
            "title": "Name",
            "maxLength": 128,
            "minLength": 2,
            "type": [
              "string",
              "null"
            ]
          },
          "is_active": {
            "title": "Is Active",
            "type": [
              "boolean",
              "null"
            ]
          },
          "selections": {
            "title": "Selections",
            "items": {
              "$ref": "#/components/schemas/PublicSelectionItemIn"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "required_for_records": {
            "title": "Required For Records",
            "items": {
              "$ref": "#/components/schemas/PublicClassifiableRecords"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "parent_id": {
            "title": "Parent Id",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "title": "PublicClassificationSchemaPatchIn",
        "type": "object"
      },
      "PublicClassificationLineListFilterSchema": {
        "properties": {
          "search": {
            "title": "Search",
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "q": "id__in",
            "title": "Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "name": {
            "q": "name__icontains",
            "title": "Name",
            "type": [
              "string",
              "null"
            ]
          },
          "is_active": {
            "title": "Is Active",
            "type": [
              "boolean",
              "null"
            ]
          },
          "classification_id": {
            "q": "classification_id__in",
            "title": "Classification Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "title": "PublicClassificationLineListFilterSchema",
        "type": "object"
      },
      "PagedPublicClassificationLineSchemaOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicClassificationLineSchemaOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicClassificationLineSchemaOut",
        "type": "object"
      },
      "PublicClassificationLineSchemaOut": {
        "properties": {
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "is_active": {
            "title": "Is Active",
            "type": "boolean"
          },
          "classification_id": {
            "title": "Classification Id",
            "type": "integer"
          },
          "classification_name": {
            "title": "Classification Name",
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "is_active",
          "classification_id",
          "classification_name"
        ],
        "title": "PublicClassificationLineSchemaOut",
        "type": "object"
      },
      "PublicCustomFieldListFilterSchema": {
        "properties": {
          "search": {
            "title": "Search",
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "q": "id__in",
            "title": "Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "field_type": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/FieldType"
              },
              {
                "type": "null"
              }
            ],
            "q": "field_type"
          },
          "is_active": {
            "q": "is_active",
            "title": "Is Active",
            "type": [
              "boolean",
              "null"
            ]
          },
          "name": {
            "q": "name__icontains",
            "title": "Name",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "title": "PublicCustomFieldListFilterSchema",
        "type": "object"
      },
      "PagedPublicCustomFieldSchemaOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicCustomFieldSchemaOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicCustomFieldSchemaOut",
        "type": "object"
      },
      "PublicCustomFieldSchemaOut": {
        "properties": {
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "company_id": {
            "title": "Company Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "company_ids": {
            "default": [],
            "items": {
              "type": "integer"
            },
            "title": "Company Ids",
            "type": "array"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "description": {
            "title": "Description",
            "type": [
              "string",
              "null"
            ]
          },
          "helper_text": {
            "title": "Helper Text",
            "type": [
              "string",
              "null"
            ]
          },
          "field_type": {
            "$ref": "#/components/schemas/FieldType"
          },
          "applies_to": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/AppliesToItemSchema"
            },
            "title": "Applies To",
            "type": "array"
          },
          "default_value": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Default Value"
          },
          "options": {
            "title": "Options",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "is_active": {
            "title": "Is Active",
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "name",
          "field_type",
          "is_active"
        ],
        "title": "PublicCustomFieldSchemaOut",
        "type": "object"
      },
      "PublicCustomFieldSchemaCreateIn": {
        "properties": {
          "name": {
            "maxLength": 32,
            "minLength": 2,
            "title": "Name",
            "type": "string"
          },
          "description": {
            "title": "Description",
            "type": [
              "string",
              "null"
            ]
          },
          "helper_text": {
            "title": "Helper Text",
            "type": [
              "string",
              "null"
            ]
          },
          "field_type": {
            "$ref": "#/components/schemas/FieldType"
          },
          "applies_to": {
            "items": {
              "$ref": "#/components/schemas/AppliesToItemSchema"
            },
            "title": "Applies To",
            "type": "array"
          },
          "default_value": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Default Value"
          },
          "company_id": {
            "description": "Single company id this custom field is scoped to (merged into `company_ids`). Omit for an org-wide field.",
            "title": "Company Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "company_ids": {
            "description": "List of company ids this custom field is scoped to. Omit for an org-wide field.",
            "title": "Company Ids",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "is_active": {
            "default": true,
            "title": "Is Active",
            "type": "boolean"
          },
          "options": {
            "description": "Allowed values for single_select / multi_select fields",
            "title": "Options",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "name",
          "field_type",
          "applies_to"
        ],
        "title": "PublicCustomFieldSchemaCreateIn",
        "type": "object"
      },
      "PublicCustomFieldSchemaUpdateIn": {
        "properties": {
          "name": {
            "maxLength": 32,
            "minLength": 2,
            "title": "Name",
            "type": "string"
          },
          "description": {
            "title": "Description",
            "type": [
              "string",
              "null"
            ]
          },
          "helper_text": {
            "title": "Helper Text",
            "type": [
              "string",
              "null"
            ]
          },
          "field_type": {
            "$ref": "#/components/schemas/FieldType"
          },
          "applies_to": {
            "items": {
              "$ref": "#/components/schemas/AppliesToItemSchema"
            },
            "title": "Applies To",
            "type": "array"
          },
          "default_value": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Default Value"
          },
          "company_id": {
            "description": "Single company id this custom field is scoped to (merged into `company_ids`). Omit for an org-wide field.",
            "title": "Company Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "company_ids": {
            "description": "List of company ids this custom field is scoped to. Omit for an org-wide field.",
            "title": "Company Ids",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "is_active": {
            "default": true,
            "title": "Is Active",
            "type": "boolean"
          },
          "options": {
            "description": "Allowed values for single_select / multi_select fields",
            "title": "Options",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "name",
          "field_type",
          "applies_to"
        ],
        "title": "PublicCustomFieldSchemaUpdateIn",
        "type": "object"
      },
      "PaperCheckSourceRecordType": {
        "description": "Allowed source record types for paper checks.",
        "enum": [
          "direct_expense",
          "vendor_payment",
          "vendor_prepayment",
          "customer_refund"
        ],
        "title": "PaperCheckSourceRecordType",
        "type": "string"
      },
      "PublicPaperCheckListFilterSchema": {
        "description": "Filter schema for listing paper checks.\n\nAll filters are optional and can be combined. Multiple values for the same\nfilter are treated as OR conditions.",
        "properties": {
          "search": {
            "title": "Search",
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "description": "Filter by paper check IDs",
            "q": "id__in",
            "title": "Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "record_status": {
            "description": "Filter by status: 'not_printed', 'printed', or 'archived'",
            "q": "record_status__in",
            "title": "Record Status",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "company_id": {
            "description": "Filter by company IDs",
            "q": "transaction__company_id__in",
            "title": "Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "transaction_type": {
            "description": "Filter by transaction type: 'direct_expense', 'vendor_payment', 'vendor_prepayment', 'customer_refund'",
            "q": "transaction__transaction_type__in",
            "title": "Transaction Type",
            "items": {
              "$ref": "#/components/schemas/PaperCheckSourceRecordType"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "vendor_id": {
            "description": "Filter by vendor IDs (for vendor-related checks)",
            "title": "Vendor Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "customer_id": {
            "description": "Filter by customer IDs (for customer refund checks)",
            "title": "Customer Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "account_id": {
            "description": "Filter by bank account IDs",
            "title": "Account Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "start_date": {
            "description": "Filter checks created on or after this date (YYYY-MM-DD)",
            "q": "created_at__date__gte",
            "title": "Start Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "end_date": {
            "description": "Filter checks created on or before this date (YYYY-MM-DD)",
            "q": "created_at__date__lte",
            "title": "End Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "title": "PublicPaperCheckListFilterSchema",
        "type": "object"
      },
      "PagedPublicPaperCheckSchemaOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicPaperCheckSchemaOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicPaperCheckSchemaOut",
        "type": "object"
      },
      "PublicPaperCheckSchemaOut": {
        "description": "Schema for paper check output in the public API.\n\nA paper check represents a physical check that can be printed for payments.\nPaper checks are associated with transactions such as vendor payments,\ndirect expenses, vendor prepayments, or customer refunds.",
        "properties": {
          "id": {
            "description": "Unique identifier for the paper check",
            "example": 12345,
            "title": "Id",
            "type": "integer"
          },
          "created_at": {
            "description": "Date when the paper check was created (returned as date only)",
            "example": "2024-01-15",
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "transaction_date": {
            "description": "Date of the underlying transaction",
            "example": "2024-01-15",
            "format": "date",
            "title": "Transaction Date",
            "type": "string"
          },
          "source_record_type": {
            "$ref": "#/components/schemas/PaperCheckSourceRecordType",
            "description": "Type of the source record (e.g., 'direct_expense', 'vendor_payment', 'customer_refund')",
            "example": "vendor_payment"
          },
          "source_record_id": {
            "description": "ID of the source record (e.g., the VendorPayment ID)",
            "example": 789,
            "title": "Source Record Id",
            "type": "integer"
          },
          "source_record_number": {
            "description": "Number of the source record (e.g., vendor payment number)",
            "example": 1001,
            "title": "Source Record Number",
            "type": "integer"
          },
          "check_number": {
            "description": "The check number printed on the physical check",
            "example": "10542",
            "title": "Check Number",
            "type": "string"
          },
          "company_id": {
            "description": "ID of the company issuing the check",
            "example": 456,
            "title": "Company Id",
            "type": "integer"
          },
          "company_name": {
            "description": "Name of the company issuing the check",
            "example": "Acme Corporation",
            "title": "Company Name",
            "type": "string"
          },
          "memo": {
            "description": "Memo or description for the check",
            "example": "Payment for Invoice #1234",
            "title": "Memo",
            "type": "string"
          },
          "amount": {
            "description": "Amount of the check",
            "example": "1500.00",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Amount",
            "type": "string"
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies",
            "description": "ISO 4217 currency code for the check amount",
            "example": "USD"
          },
          "account_number": {
            "description": "Number of the bank account the check is drawn from",
            "example": 321,
            "title": "Account Number",
            "type": "integer"
          },
          "account_name": {
            "description": "Name of the bank account the check is drawn from",
            "example": "Operating Account",
            "title": "Account Name",
            "type": "string"
          },
          "payee_name": {
            "description": "Name of the payee (vendor or customer receiving the check)",
            "example": "ABC Suppliers Inc.",
            "title": "Payee Name",
            "type": [
              "string",
              "null"
            ]
          },
          "customer_id": {
            "description": "ID of the customer if this is a customer refund check",
            "example": 567,
            "title": "Customer Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "customer_name": {
            "description": "Name of the customer if this is a customer refund check",
            "example": "John Smith",
            "title": "Customer Name",
            "type": [
              "string",
              "null"
            ]
          },
          "vendor_id": {
            "description": "ID of the vendor if this is a vendor payment check",
            "example": 890,
            "title": "Vendor Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "vendor_name": {
            "description": "Name of the vendor if this is a vendor payment check",
            "example": "ABC Suppliers Inc.",
            "title": "Vendor Name",
            "type": [
              "string",
              "null"
            ]
          },
          "record_status": {
            "description": "Status of the paper check: 'not_printed' (queued), 'printed', or 'archived'",
            "enum": [
              "printed",
              "not_printed",
              "archived"
            ],
            "example": "printed",
            "title": "Record Status",
            "type": "string"
          }
        },
        "required": [
          "id",
          "created_at",
          "transaction_date",
          "source_record_type",
          "source_record_id",
          "source_record_number",
          "check_number",
          "company_id",
          "company_name",
          "memo",
          "amount",
          "currency_iso_4217_code",
          "account_number",
          "account_name",
          "record_status"
        ],
        "title": "PublicPaperCheckSchemaOut",
        "type": "object"
      },
      "PublicPaperCheckWithPDFContentSchemaOut": {
        "description": "Schema for paper check with PDF content.\n\nReturned when immediately printing a check. Contains both the paper check\ndetails and the PDF content encoded in base64.",
        "properties": {
          "paper_check": {
            "$ref": "#/components/schemas/PublicPaperCheckSchemaOut",
            "description": "The created paper check details"
          },
          "pdf_content": {
            "description": "Base64-encoded PDF content of the printed check",
            "title": "Pdf Content",
            "type": "string"
          }
        },
        "required": [
          "paper_check",
          "pdf_content"
        ],
        "title": "PublicPaperCheckWithPDFContentSchemaOut",
        "type": "object"
      },
      "PublicPrintNowPayload": {
        "description": "Request body for immediately printing a check.\n\nUse this endpoint when you need to print a single check right away.\nThe check will be created and marked as PRINTED immediately.",
        "properties": {
          "transaction_id": {
            "description": "ID of the transaction to print a check for. Must be a printable transaction type (direct expense, vendor payment, vendor prepayment, or customer refund).",
            "example": 12345,
            "title": "Transaction Id",
            "type": "integer"
          },
          "template_id": {
            "description": "Optional ID of a PaperCheckTemplate to use for formatting. If not provided, the default template will be used.",
            "example": 1,
            "title": "Template Id",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "transaction_id"
        ],
        "title": "PublicPrintNowPayload",
        "type": "object"
      },
      "PublicPrintLaterPayload": {
        "description": "Request body for queuing checks for later batch printing.\n\nUse this endpoint when you want to queue multiple checks to be printed\ntogether in a batch. The checks will be created with status NOT_PRINTED.",
        "properties": {
          "transaction_ids": {
            "description": "List of transaction IDs to create paper checks for. Each transaction must be a printable type and must not already have an active paper check.",
            "example": [
              12345,
              12346,
              12347
            ],
            "items": {
              "type": "integer"
            },
            "title": "Transaction Ids",
            "type": "array"
          }
        },
        "required": [
          "transaction_ids"
        ],
        "title": "PublicPrintLaterPayload",
        "type": "object"
      },
      "PublicPaperCheckBatchPrintResponse": {
        "description": "Schema for batch print response.\n\nContains the merged PDF with all checks and metadata about each printed check.",
        "properties": {
          "pdf_content": {
            "description": "Base64-encoded PDF content containing all printed checks",
            "title": "Pdf Content",
            "type": "string"
          },
          "printed_checks": {
            "description": "List of checks that were printed with their assigned check numbers",
            "items": {
              "$ref": "#/components/schemas/PublicPrintBatchResponseItem"
            },
            "title": "Printed Checks",
            "type": "array"
          },
          "total_printed": {
            "description": "Total number of checks printed in this batch",
            "example": 5,
            "title": "Total Printed",
            "type": "integer"
          }
        },
        "required": [
          "pdf_content",
          "printed_checks",
          "total_printed"
        ],
        "title": "PublicPaperCheckBatchPrintResponse",
        "type": "object"
      },
      "PublicPrintBatchResponseItem": {
        "description": "Details of a single check printed in a batch.",
        "properties": {
          "paper_check_id": {
            "description": "ID of the paper check that was printed",
            "example": 12345,
            "title": "Paper Check Id",
            "type": "integer"
          },
          "check_number": {
            "description": "The check number assigned to this check",
            "example": "10542",
            "title": "Check Number",
            "type": "string"
          }
        },
        "required": [
          "paper_check_id",
          "check_number"
        ],
        "title": "PublicPrintBatchResponseItem",
        "type": "object"
      },
      "PublicPrintBatchPayload": {
        "description": "Request body for batch printing queued checks.\n\nUse this endpoint to print multiple queued checks at once. Check numbers\nwill be assigned sequentially starting from first_check_number.",
        "properties": {
          "paper_check_ids": {
            "description": "List of paper check IDs to print. Checks must have status 'not_printed'. The order of IDs determines the order of checks in the PDF and check number assignment.",
            "example": [
              101,
              102,
              103
            ],
            "items": {
              "type": "integer"
            },
            "title": "Paper Check Ids",
            "type": "array"
          },
          "first_check_number": {
            "description": "Starting check number for this batch. If None, auto-assigns from bank account sequence. Subsequent checks will be numbered sequentially.",
            "example": 10001,
            "title": "First Check Number",
            "minimum": 1,
            "type": [
              "integer",
              "null"
            ]
          },
          "template_id": {
            "description": "Optional ID of a PaperCheckTemplate to use for formatting. If not provided, the default template will be used.",
            "example": 1,
            "title": "Template Id",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "paper_check_ids"
        ],
        "title": "PublicPrintBatchPayload",
        "type": "object"
      },
      "PublicRecordType": {
        "description": "Supported record types for workflows.",
        "enum": [
          "invoice",
          "bill",
          "journal_entry",
          "bank_transfer",
          "purchase_order",
          "sales_order",
          "intercompany_journal_entry",
          "contract",
          "customer_credit",
          "direct_expense",
          "cash_sale",
          "customer_prepayment",
          "customer_deposit",
          "customer_payment",
          "customer_refund",
          "vendor_prepayment_application",
          "customer_prepayment_application",
          "vendor_payment",
          "vendor_credit",
          "vendor_refund",
          "vendor_prepayment",
          "vendor",
          "customer"
        ],
        "title": "PublicRecordType",
        "type": "string"
      },
      "PublicWorkflowListFilterSchema": {
        "description": "Filter schema for listing workflows.",
        "properties": {
          "search": {
            "title": "Search",
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "q": "id__in",
            "title": "Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "record_type": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PublicRecordType"
              },
              {
                "type": "null"
              }
            ]
          },
          "is_active": {
            "title": "Is Active",
            "type": [
              "boolean",
              "null"
            ]
          }
        },
        "title": "PublicWorkflowListFilterSchema",
        "type": "object"
      },
      "PagedPublicWorkflowListSchemaOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicWorkflowListSchemaOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicWorkflowListSchemaOut",
        "type": "object"
      },
      "PublicWorkflowListSchemaOut": {
        "description": "Schema for workflow list output (lighter than full schema).",
        "properties": {
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "record_type": {
            "$ref": "#/components/schemas/PublicRecordType"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "is_active": {
            "title": "Is Active",
            "type": "boolean"
          },
          "description": {
            "title": "Description",
            "type": "string"
          },
          "version": {
            "title": "Version",
            "type": "integer"
          },
          "priority": {
            "title": "Priority",
            "type": "integer"
          },
          "company_ids": {
            "items": {
              "type": "integer"
            },
            "title": "Company Ids",
            "type": "array"
          },
          "applies_to_all_companies": {
            "title": "Applies To All Companies",
            "type": "boolean"
          },
          "allow_self_approval": {
            "title": "Allow Self Approval",
            "type": "boolean"
          },
          "pending_approval_count": {
            "title": "Pending Approval Count",
            "type": "integer"
          }
        },
        "required": [
          "id",
          "record_type",
          "name",
          "is_active",
          "description",
          "version",
          "priority",
          "company_ids",
          "applies_to_all_companies",
          "allow_self_approval",
          "pending_approval_count"
        ],
        "title": "PublicWorkflowListSchemaOut",
        "type": "object"
      },
      "PublicExecutionStateListFilterSchema": {
        "description": "Filter schema for listing execution states.",
        "properties": {
          "search": {
            "title": "Search",
            "type": [
              "string",
              "null"
            ]
          },
          "workflow_id": {
            "q": "workflow_id__in",
            "title": "Workflow Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "status": {
            "q": "status__in",
            "title": "Status",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "record_type": {
            "title": "Record Type",
            "type": [
              "string",
              "null"
            ]
          },
          "initiator_id": {
            "q": "initiator_id__in",
            "title": "Initiator Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "title": "PublicExecutionStateListFilterSchema",
        "type": "object"
      },
      "PagedPublicWorkflowExecutionStateSchemaOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicWorkflowExecutionStateSchemaOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicWorkflowExecutionStateSchemaOut",
        "type": "object"
      },
      "PublicWorkflowExecutionStateSchemaOut": {
        "description": "Schema for workflow execution state output.",
        "properties": {
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "workflow_id": {
            "title": "Workflow Id",
            "type": "integer"
          },
          "workflow_name": {
            "title": "Workflow Name",
            "type": "string"
          },
          "record_id": {
            "title": "Record Id",
            "type": "integer"
          },
          "record_type": {
            "title": "Record Type",
            "type": "string"
          },
          "current_step": {
            "title": "Current Step",
            "type": "integer"
          },
          "current_substep": {
            "title": "Current Substep",
            "type": "integer"
          },
          "status": {
            "title": "Status",
            "type": "string"
          },
          "requested_approver_ids": {
            "items": {
              "type": "integer"
            },
            "title": "Requested Approver Ids",
            "type": "array"
          },
          "approved_by_ids": {
            "items": {
              "type": "integer"
            },
            "title": "Approved By Ids",
            "type": "array"
          },
          "rejected_by_id": {
            "title": "Rejected By Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "rejection_reason": {
            "title": "Rejection Reason",
            "type": [
              "string",
              "null"
            ]
          },
          "initiator_id": {
            "title": "Initiator Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "updated_at": {
            "format": "date-time",
            "title": "Updated At",
            "type": "string"
          }
        },
        "required": [
          "id",
          "workflow_id",
          "workflow_name",
          "record_id",
          "record_type",
          "current_step",
          "current_substep",
          "status",
          "requested_approver_ids",
          "approved_by_ids",
          "rejected_by_id",
          "rejection_reason",
          "initiator_id",
          "created_at",
          "updated_at"
        ],
        "title": "PublicWorkflowExecutionStateSchemaOut",
        "type": "object"
      },
      "PublicApprovalActionSchemaOut": {
        "description": "Schema for approval action (history) output.",
        "properties": {
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "workflow_execution_state_id": {
            "title": "Workflow Execution State Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "record_id": {
            "title": "Record Id",
            "type": "integer"
          },
          "record_type": {
            "title": "Record Type",
            "type": "string"
          },
          "approver": {
            "$ref": "#/components/schemas/PublicApproverSchemaOut"
          },
          "action_type": {
            "title": "Action Type",
            "type": "string"
          },
          "rejection_reason": {
            "title": "Rejection Reason",
            "type": [
              "string",
              "null"
            ]
          },
          "step_name": {
            "title": "Step Name",
            "type": "string"
          },
          "step_order": {
            "title": "Step Order",
            "type": "integer"
          },
          "substep_order": {
            "title": "Substep Order",
            "type": [
              "integer",
              "null"
            ]
          },
          "workflow_version": {
            "title": "Workflow Version",
            "type": "integer"
          },
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          }
        },
        "required": [
          "id",
          "workflow_execution_state_id",
          "record_id",
          "record_type",
          "approver",
          "action_type",
          "rejection_reason",
          "step_name",
          "step_order",
          "substep_order",
          "workflow_version",
          "created_at"
        ],
        "title": "PublicApprovalActionSchemaOut",
        "type": "object"
      },
      "PublicApproverSchemaOut": {
        "description": "Schema for approver information.",
        "properties": {
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "first_name": {
            "title": "First Name",
            "type": "string"
          },
          "last_name": {
            "title": "Last Name",
            "type": "string"
          },
          "email": {
            "title": "Email",
            "type": "string"
          }
        },
        "required": [
          "id",
          "first_name",
          "last_name",
          "email"
        ],
        "title": "PublicApproverSchemaOut",
        "type": "object"
      },
      "PublicApprovalActionListFilterSchema": {
        "description": "Filter schema for listing approval actions.",
        "properties": {
          "workflow_execution_state_id": {
            "q": "workflow_execution_state_id__in",
            "title": "Workflow Execution State Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "record_type": {
            "title": "Record Type",
            "type": [
              "string",
              "null"
            ]
          },
          "record_id": {
            "title": "Record Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "action_type": {
            "q": "action_type__in",
            "title": "Action Type",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "approver_id": {
            "q": "approver_id__in",
            "title": "Approver Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "start_date": {
            "title": "Start Date",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "end_date": {
            "title": "End Date",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "title": "PublicApprovalActionListFilterSchema",
        "type": "object"
      },
      "PagedPublicApprovalActionSchemaOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicApprovalActionSchemaOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicApprovalActionSchemaOut",
        "type": "object"
      },
      "PublicRoleMetadataSchemaOut": {
        "description": "Schema for role metadata in workflow context.",
        "properties": {
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "descriptive_name": {
            "title": "Descriptive Name",
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "descriptive_name"
        ],
        "title": "PublicRoleMetadataSchemaOut",
        "type": "object"
      },
      "ConditionOperatorEnum": {
        "description": "Comparison operators for workflow conditions.",
        "enum": [
          "eq",
          "neq",
          "gt",
          "lt",
          "gte",
          "lte",
          "contains",
          "not_contains",
          "starts_with",
          "ends_with",
          "in",
          "not_in",
          "between",
          "contains_any",
          "contains_all",
          "not_contains_any"
        ],
        "title": "ConditionOperatorEnum",
        "type": "string"
      },
      "LogicalOperatorEnum": {
        "description": "Logical operators for connecting conditions.",
        "enum": [
          "and",
          "or",
          "not"
        ],
        "title": "LogicalOperatorEnum",
        "type": "string"
      },
      "PublicConditionItemSchemaOut": {
        "description": "Schema for a single condition item in the flat conditions list (output).",
        "properties": {
          "field": {
            "title": "Field",
            "type": "string"
          },
          "operator": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ConditionOperatorEnum"
              },
              {
                "type": "null"
              }
            ]
          },
          "value": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "items": {},
                "type": "array"
              },
              {
                "type": "string"
              },
              {
                "type": "integer"
              },
              {
                "type": "number"
              },
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Value"
          },
          "logical_operator": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/LogicalOperatorEnum"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "field"
        ],
        "title": "PublicConditionItemSchemaOut",
        "type": "object"
      },
      "PublicStepSchemaOut": {
        "description": "Schema for workflow step output.",
        "properties": {
          "name": {
            "title": "Name",
            "type": "string"
          },
          "order": {
            "title": "Order",
            "type": "integer"
          },
          "conditions": {
            "items": {
              "$ref": "#/components/schemas/PublicConditionItemSchemaOut"
            },
            "title": "Conditions",
            "type": "array"
          },
          "substeps": {
            "title": "Substeps",
            "items": {
              "$ref": "#/components/schemas/PublicSubstepSchemaOut"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "approver_ids": {
            "title": "Approver Ids",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "approve_condition": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ApproveCondition"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "name",
          "order",
          "conditions",
          "substeps",
          "approver_ids",
          "approve_condition"
        ],
        "title": "PublicStepSchemaOut",
        "type": "object"
      },
      "PublicSubstepSchemaOut": {
        "description": "Schema for substep output.",
        "properties": {
          "order": {
            "title": "Order",
            "type": "integer"
          },
          "approver_ids": {
            "items": {
              "type": "integer"
            },
            "title": "Approver Ids",
            "type": "array"
          },
          "approve_condition": {
            "$ref": "#/components/schemas/ApproveCondition"
          }
        },
        "required": [
          "order",
          "approver_ids",
          "approve_condition"
        ],
        "title": "PublicSubstepSchemaOut",
        "type": "object"
      },
      "PublicWorkflowSchemaOut": {
        "description": "Schema for workflow output.",
        "properties": {
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "record_type": {
            "$ref": "#/components/schemas/PublicRecordType"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "is_active": {
            "title": "Is Active",
            "type": "boolean"
          },
          "description": {
            "title": "Description",
            "type": "string"
          },
          "version": {
            "title": "Version",
            "type": "integer"
          },
          "priority": {
            "title": "Priority",
            "type": "integer"
          },
          "company_ids": {
            "items": {
              "type": "integer"
            },
            "title": "Company Ids",
            "type": "array"
          },
          "applies_to_all_companies": {
            "title": "Applies To All Companies",
            "type": "boolean"
          },
          "allow_self_approval": {
            "title": "Allow Self Approval",
            "type": "boolean"
          },
          "steps": {
            "items": {
              "$ref": "#/components/schemas/PublicStepSchemaOut"
            },
            "title": "Steps",
            "type": "array"
          },
          "pending_approval_count": {
            "title": "Pending Approval Count",
            "type": "integer"
          },
          "roles": {
            "additionalProperties": {
              "type": "string"
            },
            "title": "Roles",
            "type": "object"
          }
        },
        "required": [
          "id",
          "record_type",
          "name",
          "is_active",
          "description",
          "version",
          "priority",
          "company_ids",
          "applies_to_all_companies",
          "allow_self_approval",
          "steps",
          "pending_approval_count",
          "roles"
        ],
        "title": "PublicWorkflowSchemaOut",
        "type": "object"
      },
      "PublicChangedBySchema": {
        "description": "Schema for user who made a change.",
        "properties": {
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "first_name": {
            "title": "First Name",
            "type": "string"
          },
          "last_name": {
            "title": "Last Name",
            "type": "string"
          },
          "email": {
            "title": "Email",
            "type": "string"
          }
        },
        "required": [
          "id",
          "first_name",
          "last_name",
          "email"
        ],
        "title": "PublicChangedBySchema",
        "type": "object"
      },
      "PublicWorkflowVersionSchemaOut": {
        "description": "Schema for workflow version history.",
        "properties": {
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "version_number": {
            "title": "Version Number",
            "type": "integer"
          },
          "changed_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PublicChangedBySchema"
              },
              {
                "type": "null"
              }
            ]
          },
          "changed_at": {
            "format": "date-time",
            "title": "Changed At",
            "type": "string"
          },
          "changes_summary": {
            "title": "Changes Summary",
            "type": "string"
          },
          "snapshot": {
            "title": "Snapshot",
            "additionalProperties": true,
            "type": [
              "object",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "version_number",
          "changed_by",
          "changed_at",
          "changes_summary"
        ],
        "title": "PublicWorkflowVersionSchemaOut",
        "type": "object"
      },
      "PublicInboxSummarySchemaOut": {
        "description": "Summary schema for inbox base endpoint.",
        "properties": {
          "transactions_count": {
            "title": "Transactions Count",
            "type": "integer"
          },
          "records_count": {
            "title": "Records Count",
            "type": "integer"
          }
        },
        "required": [
          "transactions_count",
          "records_count"
        ],
        "title": "PublicInboxSummarySchemaOut",
        "type": "object"
      },
      "PublicTransactionInboxListFilterSchema": {
        "description": "Filter schema for transactions inbox (public API - no filter_by_me).",
        "properties": {
          "search": {
            "title": "Search",
            "type": [
              "string",
              "null"
            ]
          },
          "transaction_type": {
            "title": "Transaction Type",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "approval_status": {
            "title": "Approval Status",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "start_date": {
            "title": "Start Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "end_date": {
            "title": "End Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "customer_id": {
            "title": "Customer Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "record_id": {
            "q": "record_id__in",
            "title": "Record Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "transaction_id": {
            "title": "Transaction Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "title": "PublicTransactionInboxListFilterSchema",
        "type": "object"
      },
      "PagedPublicTransactionInboxSchemaOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicTransactionInboxSchemaOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicTransactionInboxSchemaOut",
        "type": "object"
      },
      "PublicApprovalInfoSchema": {
        "description": "Schema for complete approval workflow information.",
        "properties": {
          "workflow_name": {
            "title": "Workflow Name",
            "type": "string"
          },
          "workflow_version": {
            "title": "Workflow Version",
            "type": "integer"
          },
          "step_name": {
            "title": "Step Name",
            "type": "string"
          },
          "current_substep": {
            "title": "Current Substep",
            "type": "integer"
          },
          "substeps": {
            "items": {
              "$ref": "#/components/schemas/PublicSubstepInfoSchema"
            },
            "title": "Substeps",
            "type": "array"
          }
        },
        "required": [
          "workflow_name",
          "workflow_version",
          "step_name",
          "current_substep",
          "substeps"
        ],
        "title": "PublicApprovalInfoSchema",
        "type": "object"
      },
      "PublicApproverSchema": {
        "description": "Schema for approver information.",
        "properties": {
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "first_name": {
            "title": "First Name",
            "type": "string"
          },
          "last_name": {
            "title": "Last Name",
            "type": "string"
          },
          "email": {
            "title": "Email",
            "type": "string"
          },
          "full_name": {
            "title": "Full Name",
            "type": "string"
          }
        },
        "required": [
          "id",
          "first_name",
          "last_name",
          "email",
          "full_name"
        ],
        "title": "PublicApproverSchema",
        "type": "object"
      },
      "PublicSubstepInfoSchema": {
        "description": "Schema for individual substep information in approval workflow.",
        "properties": {
          "order": {
            "title": "Order",
            "type": "integer"
          },
          "status": {
            "$ref": "#/components/schemas/SubstepStatus"
          },
          "approve_condition": {
            "$ref": "#/components/schemas/ApproveCondition"
          },
          "approvers": {
            "items": {
              "$ref": "#/components/schemas/PublicApproverSchema"
            },
            "title": "Approvers",
            "type": "array"
          },
          "approved_by": {
            "items": {
              "$ref": "#/components/schemas/PublicApproverSchema"
            },
            "title": "Approved By",
            "type": "array"
          },
          "rejected_by": {
            "items": {
              "$ref": "#/components/schemas/PublicApproverSchema"
            },
            "title": "Rejected By",
            "type": "array"
          }
        },
        "required": [
          "order",
          "status",
          "approve_condition",
          "approvers",
          "approved_by",
          "rejected_by"
        ],
        "title": "PublicSubstepInfoSchema",
        "type": "object"
      },
      "PublicTransactionInboxSchemaOut": {
        "description": "Schema for transaction-based records in the inbox (monetary entities).",
        "properties": {
          "transaction_type": {
            "title": "Transaction Type",
            "type": "string"
          },
          "number": {
            "title": "Number",
            "type": "string"
          },
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "customer_vendor": {
            "title": "Customer Vendor",
            "type": [
              "string",
              "null"
            ]
          },
          "company": {
            "title": "Company",
            "type": "string"
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "amount": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Amount",
            "type": "string"
          },
          "approval_status": {
            "title": "Approval Status",
            "type": "string"
          },
          "workflow_id": {
            "title": "Workflow Id",
            "type": "integer"
          },
          "record_id": {
            "title": "Record Id",
            "type": "integer"
          },
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "updated_at": {
            "format": "date-time",
            "title": "Updated At",
            "type": "string"
          },
          "approval_info": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PublicApprovalInfoSchema"
              },
              {
                "type": "null"
              }
            ]
          },
          "initiator_id": {
            "title": "Initiator Id",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "transaction_type",
          "number",
          "date",
          "customer_vendor",
          "company",
          "company_id",
          "memo",
          "amount",
          "approval_status",
          "workflow_id",
          "record_id",
          "created_at",
          "updated_at",
          "approval_info"
        ],
        "title": "PublicTransactionInboxSchemaOut",
        "type": "object"
      },
      "PublicRecordInboxListFilterSchema": {
        "description": "Filter schema for records inbox (public API - no filter_by_me).",
        "properties": {
          "search": {
            "title": "Search",
            "type": [
              "string",
              "null"
            ]
          },
          "record_type": {
            "title": "Record Type",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "approval_status": {
            "title": "Approval Status",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "record_id": {
            "q": "record_id__in",
            "title": "Record Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "title": "PublicRecordInboxListFilterSchema",
        "type": "object"
      },
      "PagedPublicRecordInboxSchemaOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicRecordInboxSchemaOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicRecordInboxSchemaOut",
        "type": "object"
      },
      "PublicRecordInboxSchemaOut": {
        "description": "Schema for non-monetary records in the inbox (customers, vendors).",
        "properties": {
          "record_type": {
            "title": "Record Type",
            "type": "string"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "approval_status": {
            "title": "Approval Status",
            "type": "string"
          },
          "approver": {
            "title": "Approver",
            "type": "string"
          },
          "workflow_id": {
            "title": "Workflow Id",
            "type": "integer"
          },
          "record_id": {
            "title": "Record Id",
            "type": "integer"
          },
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "updated_at": {
            "format": "date-time",
            "title": "Updated At",
            "type": "string"
          },
          "approval_info": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PublicApprovalInfoSchema"
              },
              {
                "type": "null"
              }
            ]
          },
          "initiator_id": {
            "title": "Initiator Id",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "record_type",
          "name",
          "approval_status",
          "approver",
          "workflow_id",
          "record_id",
          "created_at",
          "updated_at",
          "approval_info"
        ],
        "title": "PublicRecordInboxSchemaOut",
        "type": "object"
      },
      "FixedAssetStatus": {
        "enum": [
          "active",
          "inactive",
          "disposed",
          "fully_amortized"
        ],
        "title": "FixedAssetStatus",
        "type": "string"
      },
      "V2FixedAssetListFilterSchema": {
        "description": "V2 filter schema - inherits all filters from V1.",
        "properties": {
          "search": {
            "title": "Search",
            "type": [
              "string",
              "null"
            ]
          },
          "company_id": {
            "q": "company_id__in",
            "title": "Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "number": {
            "q": "number__in",
            "title": "Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "status": {
            "title": "Status",
            "items": {
              "$ref": "#/components/schemas/FixedAssetStatus"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "record_status": {
            "q": "record_status__in",
            "title": "Record Status",
            "items": {
              "$ref": "#/components/schemas/RecordStatus"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "purchase_date_gte": {
            "q": "purchase_date__gte",
            "title": "Purchase Date Gte",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "purchase_date_lte": {
            "q": "purchase_date__lte",
            "title": "Purchase Date Lte",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "vendor_id": {
            "q": "vendor_id__in",
            "title": "Vendor Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "customer_id": {
            "q": "customer_id__in",
            "title": "Customer Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "title": "V2FixedAssetListFilterSchema",
        "type": "object"
      },
      "CustomDepreciationScheduleItemOut": {
        "properties": {
          "value": {
            "title": "Value",
            "type": "string"
          },
          "period_count": {
            "title": "Period Count",
            "type": "integer"
          }
        },
        "required": [
          "value",
          "period_count"
        ],
        "title": "CustomDepreciationScheduleItemOut",
        "type": "object"
      },
      "CustomScheduleType": {
        "enum": [
          "cost_percentage",
          "net_book_value_percentage",
          "fixed_amount",
          "net_book_value_amount"
        ],
        "title": "CustomScheduleType",
        "type": "string"
      },
      "DepreciationConvention": {
        "enum": [
          "mid_month",
          "half_month",
          "full_month",
          "mid_quarter",
          "half_year",
          "full_year"
        ],
        "title": "DepreciationConvention",
        "type": "string"
      },
      "DepreciationFrequency": {
        "enum": [
          "monthly",
          "yearly"
        ],
        "title": "DepreciationFrequency",
        "type": "string"
      },
      "DepreciationMethod": {
        "enum": [
          "straight_line",
          "straight_line_prorate_even",
          "declining_balance",
          "double_declining",
          "macrs_gds",
          "macrs_ads",
          "custom"
        ],
        "title": "DepreciationMethod",
        "type": "string"
      },
      "DepreciationScheduleOut": {
        "description": "Output schema for a single depreciation schedule (one per book).",
        "properties": {
          "depreciation_book_code": {
            "title": "Depreciation Book Code",
            "type": "string"
          },
          "depreciation_book_name": {
            "title": "Depreciation Book Name",
            "type": "string"
          },
          "is_posting": {
            "title": "Is Posting",
            "type": "boolean"
          },
          "useful_life": {
            "title": "Useful Life",
            "type": [
              "integer",
              "null"
            ]
          },
          "salvage_value": {
            "title": "Salvage Value",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "type": [
              "string",
              "null"
            ]
          },
          "depreciation_method": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DepreciationMethod"
              },
              {
                "type": "null"
              }
            ]
          },
          "depreciation_start_date": {
            "title": "Depreciation Start Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "convention": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DepreciationConvention"
              },
              {
                "type": "null"
              }
            ]
          },
          "depreciation_frequency": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DepreciationFrequency"
              },
              {
                "type": "null"
              }
            ]
          },
          "accumulated_beginning_balance": {
            "title": "Accumulated Beginning Balance",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "type": [
              "string",
              "null"
            ]
          },
          "accumulated_through": {
            "title": "Accumulated Through",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "acceleration_factor": {
            "title": "Acceleration Factor",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "type": [
              "string",
              "null"
            ]
          },
          "property_class": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/MacrsPropertyClass"
              },
              {
                "type": "null"
              }
            ]
          },
          "ads_recovery_period": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/MacrsAdsRecoveryPeriod"
              },
              {
                "type": "null"
              }
            ]
          },
          "custom_schedule": {
            "title": "Custom Schedule",
            "items": {
              "$ref": "#/components/schemas/CustomDepreciationScheduleItemOut"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "custom_schedule_type": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/CustomScheduleType"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "depreciation_book_code",
          "depreciation_book_name",
          "is_posting"
        ],
        "title": "DepreciationScheduleOut",
        "type": "object"
      },
      "FixedAssetSourceLineType": {
        "description": "Type of source line that can be linked to a Fixed Asset.",
        "enum": [
          "bill_line",
          "direct_expense_line",
          "journal_entry_line"
        ],
        "title": "FixedAssetSourceLineType",
        "type": "string"
      },
      "MacrsAdsRecoveryPeriod": {
        "description": "IRS MACRS ADS recovery period in years (straight-line). Used for ADS table lookups.",
        "enum": [
          3,
          4,
          5,
          6,
          7,
          9,
          10,
          12,
          15,
          18,
          20,
          25,
          30,
          35,
          40,
          50
        ],
        "title": "MacrsAdsRecoveryPeriod",
        "type": "integer"
      },
      "MacrsPropertyClass": {
        "description": "IRS MACRS GDS property classes. Value stored as integer (27.5-year → 27).",
        "enum": [
          3,
          5,
          7,
          10,
          15,
          20,
          27,
          39
        ],
        "title": "MacrsPropertyClass",
        "type": "integer"
      },
      "PagedV2FixedAssetSchemaOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/V2FixedAssetSchemaOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedV2FixedAssetSchemaOut",
        "type": "object"
      },
      "V2FixedAssetSchemaOut": {
        "description": "V2 output schema with multi-book depreciation_schedules array.",
        "properties": {
          "created_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "updated_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "internal_id": {
            "title": "Internal Id",
            "type": "integer"
          },
          "number": {
            "title": "Number",
            "type": "integer"
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "company_name": {
            "title": "Company Name",
            "type": "string"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "serial_number": {
            "title": "Serial Number",
            "type": "string"
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "exchange_rate": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
            "title": "Exchange Rate",
            "type": "string"
          },
          "purchase_date": {
            "format": "date",
            "title": "Purchase Date",
            "type": "string"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "cost": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Cost",
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/FixedAssetStatus"
          },
          "record_status": {
            "$ref": "#/components/schemas/RecordStatus"
          },
          "asset_account_number": {
            "title": "Asset Account Number",
            "type": "integer"
          },
          "expense_account_number": {
            "title": "Expense Account Number",
            "type": "integer"
          },
          "accumulation_account_number": {
            "title": "Accumulation Account Number",
            "type": "integer"
          },
          "vendor_id": {
            "title": "Vendor Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "vendor_name": {
            "title": "Vendor Name",
            "type": [
              "string",
              "null"
            ]
          },
          "customer_id": {
            "title": "Customer Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "customer_name": {
            "title": "Customer Name",
            "type": [
              "string",
              "null"
            ]
          },
          "fixed_asset_class_id": {
            "title": "Fixed Asset Class Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "depreciation_schedules": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/DepreciationScheduleOut"
            },
            "title": "Depreciation Schedules",
            "type": "array"
          },
          "classifications": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/RecordClassificationsSchemaOut"
            },
            "title": "Classifications",
            "type": "array"
          },
          "source_lines": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/V2FixedAssetSourceOut"
            },
            "title": "Source Lines",
            "type": "array"
          }
        },
        "required": [
          "internal_id",
          "number",
          "company_id",
          "company_name",
          "name",
          "serial_number",
          "currency_iso_4217_code",
          "exchange_rate",
          "purchase_date",
          "memo",
          "cost",
          "status",
          "record_status",
          "asset_account_number",
          "expense_account_number",
          "accumulation_account_number"
        ],
        "title": "V2FixedAssetSchemaOut",
        "type": "object"
      },
      "V2FixedAssetSourceOut": {
        "properties": {
          "type": {
            "$ref": "#/components/schemas/FixedAssetSourceLineType"
          },
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "parent_record_id": {
            "title": "Parent Record Id",
            "type": "integer"
          }
        },
        "required": [
          "type",
          "id",
          "parent_record_id"
        ],
        "title": "V2FixedAssetSourceOut",
        "type": "object"
      },
      "CustomDepreciationScheduleItemIn": {
        "properties": {
          "value": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,4}0*$",
                "type": "string"
              }
            ],
            "title": "Value"
          },
          "period_count": {
            "title": "Period Count",
            "type": "integer"
          }
        },
        "required": [
          "value",
          "period_count"
        ],
        "title": "CustomDepreciationScheduleItemIn",
        "type": "object"
      },
      "DepreciationScheduleIn": {
        "description": "Input schema for a single depreciation schedule.",
        "properties": {
          "depreciation_book_code": {
            "description": "Book code (e.g., 'BOOK', 'FEDERAL', 'AMT')",
            "title": "Depreciation Book Code",
            "type": "string"
          },
          "useful_life": {
            "title": "Useful Life",
            "type": [
              "integer",
              "null"
            ]
          },
          "salvage_value": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Salvage Value"
          },
          "depreciation_method": {
            "$ref": "#/components/schemas/DepreciationMethod"
          },
          "depreciation_start_date": {
            "format": "date",
            "title": "Depreciation Start Date",
            "type": "string"
          },
          "convention": {
            "$ref": "#/components/schemas/DepreciationConvention"
          },
          "depreciation_frequency": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DepreciationFrequency"
              }
            ],
            "default": "monthly"
          },
          "acceleration_factor": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
                "type": "string"
              }
            ],
            "default": "1.0",
            "title": "Acceleration Factor"
          },
          "accumulated_beginning_balance": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
                "type": "string"
              }
            ],
            "default": "0",
            "title": "Accumulated Beginning Balance"
          },
          "accumulated_through": {
            "title": "Accumulated Through",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "property_class": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/MacrsPropertyClass"
              },
              {
                "type": "null"
              }
            ]
          },
          "ads_recovery_period": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/MacrsAdsRecoveryPeriod"
              },
              {
                "type": "null"
              }
            ]
          },
          "custom_schedule": {
            "title": "Custom Schedule",
            "items": {
              "$ref": "#/components/schemas/CustomDepreciationScheduleItemIn"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "custom_schedule_type": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/CustomScheduleType"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "depreciation_book_code",
          "depreciation_method",
          "depreciation_start_date",
          "convention"
        ],
        "title": "DepreciationScheduleIn",
        "type": "object"
      },
      "FixedAssetSourceIn": {
        "properties": {
          "type": {
            "$ref": "#/components/schemas/FixedAssetSourceLineType"
          },
          "id": {
            "title": "Id",
            "type": "integer"
          }
        },
        "required": [
          "type",
          "id"
        ],
        "title": "FixedAssetSourceIn",
        "type": "object"
      },
      "V2FixedAssetSchemaCreateIn": {
        "description": "V2 input schema with multi-book depreciation_schedules array.",
        "properties": {
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "serial_number": {
            "default": "",
            "title": "Serial Number",
            "type": "string"
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "exchange_rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
                "type": "string"
              }
            ],
            "title": "Exchange Rate"
          },
          "purchase_date": {
            "format": "date",
            "title": "Purchase Date",
            "type": "string"
          },
          "memo": {
            "default": "",
            "title": "Memo",
            "type": "string"
          },
          "cost": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
                "type": "string"
              }
            ],
            "title": "Cost"
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/FixedAssetStatus"
              }
            ],
            "default": "active",
            "description": "Only Active and Inactive can be set by users; Disposed and Fully Amortized are system-managed."
          },
          "asset_account_number": {
            "title": "Asset Account Number",
            "type": "integer"
          },
          "expense_account_number": {
            "title": "Expense Account Number",
            "type": "integer"
          },
          "accumulation_account_number": {
            "title": "Accumulation Account Number",
            "type": "integer"
          },
          "vendor_id": {
            "title": "Vendor Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "customer_id": {
            "title": "Customer Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "fixed_asset_class_id": {
            "title": "Fixed Asset Class Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "depreciation_schedules": {
            "description": "At least one schedule required. Must include exactly one schedule with depreciation_book_code='BOOK'.",
            "items": {
              "$ref": "#/components/schemas/DepreciationScheduleIn"
            },
            "minItems": 1,
            "title": "Depreciation Schedules",
            "type": "array"
          },
          "record_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RecordStatus"
              }
            ],
            "default": "posted"
          },
          "address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaIn"
              },
              {
                "type": "null"
              }
            ]
          },
          "classifications": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/RecordClassificationsSchemaOut"
            },
            "title": "Classifications",
            "type": "array"
          },
          "source_lines": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/FixedAssetSourceIn"
            },
            "title": "Source Lines",
            "type": "array"
          }
        },
        "required": [
          "company_id",
          "name",
          "currency_iso_4217_code",
          "exchange_rate",
          "purchase_date",
          "cost",
          "asset_account_number",
          "expense_account_number",
          "accumulation_account_number",
          "depreciation_schedules"
        ],
        "title": "V2FixedAssetSchemaCreateIn",
        "type": "object"
      },
      "V2FixedAssetSchemaUpdateIn": {
        "properties": {
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "serial_number": {
            "default": "",
            "title": "Serial Number",
            "type": "string"
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "exchange_rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
                "type": "string"
              }
            ],
            "title": "Exchange Rate"
          },
          "purchase_date": {
            "format": "date",
            "title": "Purchase Date",
            "type": "string"
          },
          "memo": {
            "default": "",
            "title": "Memo",
            "type": "string"
          },
          "cost": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
                "type": "string"
              }
            ],
            "title": "Cost"
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/FixedAssetStatus"
              }
            ],
            "default": "active",
            "description": "Only Active and Inactive can be set by users; Disposed and Fully Amortized are system-managed."
          },
          "asset_account_number": {
            "title": "Asset Account Number",
            "type": "integer"
          },
          "expense_account_number": {
            "title": "Expense Account Number",
            "type": "integer"
          },
          "accumulation_account_number": {
            "title": "Accumulation Account Number",
            "type": "integer"
          },
          "vendor_id": {
            "title": "Vendor Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "customer_id": {
            "title": "Customer Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "fixed_asset_class_id": {
            "title": "Fixed Asset Class Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "depreciation_schedules": {
            "description": "At least one schedule required. Must include exactly one schedule with depreciation_book_code='BOOK'.",
            "items": {
              "$ref": "#/components/schemas/DepreciationScheduleIn"
            },
            "minItems": 1,
            "title": "Depreciation Schedules",
            "type": "array"
          },
          "record_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RecordStatus"
              }
            ],
            "default": "posted"
          },
          "address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaIn"
              },
              {
                "type": "null"
              }
            ]
          },
          "classifications": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/RecordClassificationsSchemaOut"
            },
            "title": "Classifications",
            "type": "array"
          },
          "source_lines": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/FixedAssetSourceIn"
            },
            "title": "Source Lines",
            "type": "array"
          }
        },
        "required": [
          "company_id",
          "name",
          "currency_iso_4217_code",
          "exchange_rate",
          "purchase_date",
          "cost",
          "asset_account_number",
          "expense_account_number",
          "accumulation_account_number",
          "depreciation_schedules"
        ],
        "title": "V2FixedAssetSchemaUpdateIn",
        "type": "object"
      },
      "V2FixedAssetSchemaPatchIn": {
        "description": "V2 PATCH schema. If depreciation_schedules is sent, it replaces all existing schedules.",
        "properties": {
          "company_id": {
            "title": "Company Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "name": {
            "title": "Name",
            "type": [
              "string",
              "null"
            ]
          },
          "serial_number": {
            "title": "Serial Number",
            "type": [
              "string",
              "null"
            ]
          },
          "currency_iso_4217_code": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              {
                "type": "null"
              }
            ]
          },
          "exchange_rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Exchange Rate"
          },
          "purchase_date": {
            "title": "Purchase Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "memo": {
            "title": "Memo",
            "type": [
              "string",
              "null"
            ]
          },
          "cost": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cost"
          },
          "status": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/FixedAssetStatus"
              },
              {
                "type": "null"
              }
            ]
          },
          "asset_account_number": {
            "title": "Asset Account Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "expense_account_number": {
            "title": "Expense Account Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "accumulation_account_number": {
            "title": "Accumulation Account Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "vendor_id": {
            "title": "Vendor Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "customer_id": {
            "title": "Customer Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "fixed_asset_class_id": {
            "title": "Fixed Asset Class Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "depreciation_schedules": {
            "title": "Depreciation Schedules",
            "items": {
              "$ref": "#/components/schemas/DepreciationScheduleIn"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "record_status": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RecordStatus"
              },
              {
                "type": "null"
              }
            ]
          },
          "address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaIn"
              },
              {
                "type": "null"
              }
            ]
          },
          "classifications": {
            "title": "Classifications",
            "items": {
              "$ref": "#/components/schemas/RecordClassificationsSchemaOut"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "source_lines": {
            "title": "Source Lines",
            "items": {
              "$ref": "#/components/schemas/FixedAssetSourceIn"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "title": "V2FixedAssetSchemaPatchIn",
        "type": "object"
      },
      "PublicScheduleQueryParams": {
        "properties": {
          "from_date": {
            "title": "From Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "to_date": {
            "title": "To Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "title": "PublicScheduleQueryParams",
        "type": "object"
      },
      "DepreciationScheduleEventStatus": {
        "enum": [
          "posted",
          "scheduled",
          "archived",
          "created",
          "initiated"
        ],
        "title": "DepreciationScheduleEventStatus",
        "type": "string"
      },
      "DepreciationScheduleItemType": {
        "enum": [
          "purchase",
          "depreciation_start",
          "depreciation",
          "disposal",
          "revaluation"
        ],
        "title": "DepreciationScheduleItemType",
        "type": "string"
      },
      "PublicDepreciationScheduleItemOut": {
        "description": "Single schedule event (depreciation, disposal, or revaluation) for one fixed asset + book.",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/DepreciationScheduleItemType"
          },
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "depreciation_id": {
            "title": "Depreciation Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "period": {
            "title": "Period",
            "type": [
              "string",
              "null"
            ]
          },
          "start_date": {
            "title": "Start Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "end_date": {
            "title": "End Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "depreciation_amount": {
            "title": "Depreciation Amount",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
            "type": [
              "string",
              "null"
            ]
          },
          "accumulated_depreciation": {
            "title": "Accumulated Depreciation",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
            "type": [
              "string",
              "null"
            ]
          },
          "net_book_value": {
            "title": "Net Book Value",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DepreciationScheduleEventStatus"
              },
              {
                "type": "null"
              }
            ]
          },
          "revaluation_id": {
            "title": "Revaluation Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "new_asset_value": {
            "title": "New Asset Value",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
            "type": [
              "string",
              "null"
            ]
          },
          "disposal_id": {
            "title": "Disposal Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "disposal_type": {
            "title": "Disposal Type",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "type",
          "date"
        ],
        "title": "PublicDepreciationScheduleItemOut",
        "type": "object"
      },
      "WebhookCreateSchemaOut": {
        "properties": {
          "uuid": {
            "title": "Uuid",
            "type": "string"
          },
          "url": {
            "title": "Url",
            "type": "string"
          },
          "topics": {
            "items": {
              "type": "string"
            },
            "title": "Topics",
            "type": "array"
          },
          "is_active": {
            "title": "Is Active",
            "type": "boolean"
          },
          "disabled_at": {
            "title": "Disabled At",
            "type": [
              "string",
              "null"
            ]
          },
          "disabled_reason": {
            "default": "",
            "title": "Disabled Reason",
            "type": "string"
          },
          "created_at": {
            "title": "Created At",
            "type": "string"
          },
          "last_modified_at": {
            "title": "Last Modified At",
            "type": "string"
          },
          "secret": {
            "title": "Secret",
            "type": "string"
          }
        },
        "required": [
          "uuid",
          "url",
          "topics",
          "is_active",
          "created_at",
          "last_modified_at",
          "secret"
        ],
        "title": "WebhookCreateSchemaOut",
        "type": "object"
      },
      "WebhookSchemaCreateIn": {
        "properties": {
          "url": {
            "maxLength": 1024,
            "title": "Url",
            "type": "string"
          },
          "topics": {
            "items": {
              "type": "string"
            },
            "title": "Topics",
            "type": "array"
          }
        },
        "required": [
          "url"
        ],
        "title": "WebhookSchemaCreateIn",
        "type": "object"
      },
      "WebhookListFilterSchema": {
        "properties": {
          "search": {
            "title": "Search",
            "type": [
              "string",
              "null"
            ]
          },
          "is_active": {
            "q": "is_active",
            "title": "Is Active",
            "type": [
              "boolean",
              "null"
            ]
          }
        },
        "title": "WebhookListFilterSchema",
        "type": "object"
      },
      "PagedWebhookSchemaOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/WebhookSchemaOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedWebhookSchemaOut",
        "type": "object"
      },
      "WebhookSchemaOut": {
        "properties": {
          "uuid": {
            "title": "Uuid",
            "type": "string"
          },
          "url": {
            "title": "Url",
            "type": "string"
          },
          "topics": {
            "items": {
              "type": "string"
            },
            "title": "Topics",
            "type": "array"
          },
          "is_active": {
            "title": "Is Active",
            "type": "boolean"
          },
          "disabled_at": {
            "title": "Disabled At",
            "type": [
              "string",
              "null"
            ]
          },
          "disabled_reason": {
            "default": "",
            "title": "Disabled Reason",
            "type": "string"
          },
          "created_at": {
            "title": "Created At",
            "type": "string"
          },
          "last_modified_at": {
            "title": "Last Modified At",
            "type": "string"
          }
        },
        "required": [
          "uuid",
          "url",
          "topics",
          "is_active",
          "created_at",
          "last_modified_at"
        ],
        "title": "WebhookSchemaOut",
        "type": "object"
      },
      "WebhookTopicSchemaOut": {
        "properties": {
          "name": {
            "title": "Name",
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "title": "WebhookTopicSchemaOut",
        "type": "object"
      },
      "WebhookSchemaUpdateIn": {
        "properties": {
          "url": {
            "title": "Url",
            "maxLength": 1024,
            "type": [
              "string",
              "null"
            ]
          },
          "topics": {
            "title": "Topics",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "is_active": {
            "title": "Is Active",
            "type": [
              "boolean",
              "null"
            ]
          }
        },
        "title": "WebhookSchemaUpdateIn",
        "type": "object"
      },
      "PagedWebhookDeliverySchemaOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/WebhookDeliverySchemaOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedWebhookDeliverySchemaOut",
        "type": "object"
      },
      "WebhookDeliverySchemaOut": {
        "properties": {
          "event_id": {
            "title": "Event Id",
            "type": "string"
          },
          "topic": {
            "title": "Topic",
            "type": "string"
          },
          "status": {
            "title": "Status",
            "type": "string"
          },
          "attempts": {
            "title": "Attempts",
            "type": "integer"
          },
          "response_status": {
            "title": "Response Status",
            "type": [
              "integer",
              "null"
            ]
          },
          "last_error": {
            "title": "Last Error",
            "type": "string"
          },
          "created_at": {
            "title": "Created At",
            "type": "string"
          },
          "delivered_at": {
            "title": "Delivered At",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "event_id",
          "topic",
          "status",
          "attempts",
          "last_error",
          "created_at"
        ],
        "title": "WebhookDeliverySchemaOut",
        "type": "object"
      },
      "DepreciationBookSchemaOut": {
        "description": "Output schema for depreciation book.",
        "properties": {
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "code": {
            "title": "Code",
            "type": "string"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "description": {
            "title": "Description",
            "type": "string"
          },
          "is_active": {
            "title": "Is Active",
            "type": "boolean"
          },
          "is_posting": {
            "title": "Is Posting",
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "code",
          "name",
          "description",
          "is_active",
          "is_posting"
        ],
        "title": "DepreciationBookSchemaOut",
        "type": "object"
      },
      "PagedDepreciationBookSchemaOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/DepreciationBookSchemaOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedDepreciationBookSchemaOut",
        "type": "object"
      },
      "PublicIJEListFilterSchema": {
        "description": "Filter schema for the IJE list endpoint.",
        "properties": {
          "search": {
            "title": "Search",
            "type": [
              "string",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "number": {
            "q": "number__in",
            "title": "Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "start_date": {
            "q": "date__gte",
            "title": "Start Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "end_date": {
            "q": "date__lte",
            "title": "End Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "record_status": {
            "q": "transactions__record_status__in",
            "title": "Record Status",
            "items": {
              "$ref": "#/components/schemas/RecordStatus"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "approval_status": {
            "title": "Approval Status",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "approval_status_scope": {
            "title": "Approval Status Scope",
            "items": {
              "$ref": "#/components/schemas/RecordStatus"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "amount_gte": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "q": "transactions__amount__gte",
            "title": "Amount Gte"
          },
          "amount_lte": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "q": "transactions__amount__lte",
            "title": "Amount Lte"
          }
        },
        "title": "PublicIJEListFilterSchema",
        "type": "object"
      },
      "PagedPublicIJESchemaOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicIJESchemaOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicIJESchemaOut",
        "type": "object"
      },
      "PublicIJECompanySchemaOut": {
        "description": "Compact company info derived from IJE transactions.",
        "properties": {
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "name": {
            "title": "Name",
            "type": "string"
          }
        },
        "required": [
          "id",
          "name"
        ],
        "title": "PublicIJECompanySchemaOut",
        "type": "object"
      },
      "PublicIJEItemOut": {
        "description": "Output schema for a single IJE line item.",
        "properties": {
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "company_name": {
            "title": "Company Name",
            "type": "string"
          },
          "account_number": {
            "title": "Account Number",
            "type": "integer"
          },
          "debit": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Debit",
            "type": "string"
          },
          "credit": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Credit",
            "type": "string"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "position": {
            "title": "Position",
            "type": "integer"
          },
          "classifications": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/RecordClassificationsSchemaOut"
            },
            "title": "Classifications",
            "type": "array"
          },
          "customer_id": {
            "title": "Customer Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "customer_name": {
            "title": "Customer Name",
            "type": [
              "string",
              "null"
            ]
          },
          "vendor_id": {
            "title": "Vendor Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "vendor_name": {
            "title": "Vendor Name",
            "type": [
              "string",
              "null"
            ]
          },
          "currency": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              {
                "type": "null"
              }
            ]
          },
          "eliminate": {
            "title": "Eliminate",
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "company_id",
          "company_name",
          "account_number",
          "debit",
          "credit",
          "memo",
          "position",
          "eliminate"
        ],
        "title": "PublicIJEItemOut",
        "type": "object"
      },
      "PublicIJESchemaOut": {
        "description": "Full output schema for a single intercompany journal entry.",
        "properties": {
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicAttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          },
          "approval_status": {
            "title": "Approval Status",
            "type": [
              "string",
              "null"
            ]
          },
          "next_approvers": {
            "title": "Next Approvers",
            "items": {
              "$ref": "#/components/schemas/ApproverDictSchema"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "rejected_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RejectedBySchema"
              },
              {
                "type": "null"
              }
            ]
          },
          "record_number": {
            "title": "Record Number",
            "type": "integer"
          },
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "format": "date",
            "title": "Transaction Date",
            "type": "string"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "exchange_rate": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
            "title": "Exchange Rate",
            "type": "string"
          },
          "record_status": {
            "$ref": "#/components/schemas/RecordStatus"
          },
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicIJEItemOut"
            },
            "title": "Items",
            "type": "array"
          },
          "companies": {
            "items": {
              "$ref": "#/components/schemas/PublicIJECompanySchemaOut"
            },
            "title": "Companies",
            "type": "array"
          },
          "company_ids": {
            "items": {
              "type": "integer"
            },
            "title": "Company Ids",
            "type": "array"
          }
        },
        "required": [
          "record_number",
          "date",
          "transaction_date",
          "memo",
          "currency_iso_4217_code",
          "exchange_rate",
          "record_status",
          "items",
          "companies",
          "company_ids"
        ],
        "title": "PublicIJESchemaOut",
        "type": "object"
      },
      "PublicIJEItemIn": {
        "description": "Input schema for a single IJE line item.",
        "properties": {
          "id": {
            "title": "Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "account_number": {
            "title": "Account Number",
            "type": "integer"
          },
          "debit": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
                "type": "string"
              }
            ],
            "title": "Debit"
          },
          "credit": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
                "type": "string"
              }
            ],
            "title": "Credit"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "position": {
            "title": "Position",
            "type": "integer"
          },
          "classifications": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/RecordClassificationsSchemaOut"
            },
            "title": "Classifications",
            "type": "array"
          },
          "customer_id": {
            "title": "Customer Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "vendor_id": {
            "title": "Vendor Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "currency": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              {
                "type": "null"
              }
            ]
          },
          "eliminate": {
            "default": true,
            "title": "Eliminate",
            "type": "boolean"
          }
        },
        "required": [
          "company_id",
          "account_number",
          "debit",
          "credit",
          "memo",
          "position"
        ],
        "title": "PublicIJEItemIn",
        "type": "object"
      },
      "PublicIJESchemaCreateIn": {
        "description": "Input schema for creating / updating an intercompany journal entry.",
        "properties": {
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "transaction_date": {
            "title": "Transaction Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "memo": {
            "default": "",
            "title": "Memo",
            "type": "string"
          },
          "currency_iso_4217_code": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "exchange_rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
                "type": "string"
              }
            ],
            "title": "Exchange Rate"
          },
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicIJEItemIn"
            },
            "title": "Items",
            "type": "array"
          },
          "record_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RecordStatus"
              }
            ],
            "default": "posted"
          },
          "attachments": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/AttachmentSchemaOut"
            },
            "title": "Attachments",
            "type": "array"
          }
        },
        "required": [
          "date",
          "currency_iso_4217_code",
          "exchange_rate",
          "items"
        ],
        "title": "PublicIJESchemaCreateIn",
        "type": "object"
      },
      "PublicVatRateFilterSchema": {
        "properties": {
          "country_code": {
            "q": "country_code__in",
            "title": "Country Code",
            "items": {
              "$ref": "#/components/schemas/VatCountries"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "rate_type": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/VatRateType"
              },
              {
                "type": "null"
              }
            ],
            "q": "rate_type"
          },
          "tax_type": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/VatTaxType"
              },
              {
                "type": "null"
              }
            ],
            "q": "tax_type"
          },
          "is_active": {
            "q": "is_active",
            "title": "Is Active",
            "type": [
              "boolean",
              "null"
            ]
          }
        },
        "title": "PublicVatRateFilterSchema",
        "type": "object"
      },
      "VatCountries": {
        "description": "Countries with a VAT system. Used to restrict API inputs to valid VAT jurisdictions.",
        "enum": [
          "AE",
          "GB",
          "TH",
          "TZ",
          "MX",
          "FR",
          "DE",
          "ES",
          "IT",
          "NL",
          "BE",
          "IE",
          "PT",
          "SE",
          "AT",
          "PL",
          "DK",
          "FI",
          "GR",
          "CZ",
          "RO",
          "HU",
          "BG",
          "HR",
          "SK",
          "SI",
          "LT",
          "LV",
          "EE",
          "CY",
          "MT",
          "LU"
        ],
        "title": "VatCountries",
        "type": "string"
      },
      "VatRateType": {
        "enum": [
          "STANDARD",
          "REDUCED",
          "SUPER_REDUCED",
          "PARKING",
          "ZERO",
          "EXEMPT",
          "OUT_OF_SCOPE"
        ],
        "title": "VatRateType",
        "type": "string"
      },
      "VatTaxType": {
        "enum": [
          "INPUT_OUTPUT",
          "ZERO_RATED",
          "EXEMPT",
          "REVERSE_CHARGE",
          "OUT_OF_SCOPE"
        ],
        "title": "VatTaxType",
        "type": "string"
      },
      "PagedPublicVatRateSchemaOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicVatRateSchemaOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicVatRateSchemaOut",
        "type": "object"
      },
      "PublicVatRateSchemaOut": {
        "description": "Output schema for VAT rate.",
        "properties": {
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "country_code": {
            "title": "Country Code",
            "type": "string"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "rate": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
            "title": "Rate",
            "type": "string"
          },
          "rate_type": {
            "$ref": "#/components/schemas/VatRateType"
          },
          "tax_type": {
            "$ref": "#/components/schemas/VatTaxType"
          },
          "valid_from": {
            "format": "date",
            "title": "Valid From",
            "type": "string"
          },
          "valid_to": {
            "title": "Valid To",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "is_active": {
            "title": "Is Active",
            "type": "boolean"
          },
          "is_system": {
            "title": "Is System",
            "type": "boolean"
          },
          "description": {
            "title": "Description",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "country_code",
          "name",
          "rate",
          "rate_type",
          "tax_type",
          "valid_from",
          "valid_to",
          "is_active",
          "is_system",
          "description"
        ],
        "title": "PublicVatRateSchemaOut",
        "type": "object"
      },
      "GstCountries": {
        "enum": [
          "AU",
          "NZ",
          "SG",
          "IN",
          "CA",
          "MY"
        ],
        "title": "GstCountries",
        "type": "string"
      },
      "GstTreatmentType": {
        "enum": [
          "STANDARD",
          "ZERO_RATED",
          "EXEMPT",
          "IMPORT_GST",
          "REVERSE_CHARGE",
          "SELF_ASSESSED",
          "OUT_OF_SCOPE"
        ],
        "title": "GstTreatmentType",
        "type": "string"
      },
      "PublicGstTaxRateFilterSchema": {
        "properties": {
          "country_code": {
            "q": "country_code__in",
            "title": "Country Code",
            "items": {
              "$ref": "#/components/schemas/GstCountries"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "tax_treatment": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/GstTreatmentType"
              },
              {
                "type": "null"
              }
            ],
            "q": "tax_treatment"
          },
          "is_active": {
            "q": "is_active",
            "title": "Is Active",
            "type": [
              "boolean",
              "null"
            ]
          }
        },
        "title": "PublicGstTaxRateFilterSchema",
        "type": "object"
      },
      "PagedPublicGstTaxRateSchemaOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicGstTaxRateSchemaOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicGstTaxRateSchemaOut",
        "type": "object"
      },
      "PublicGstTaxRateComponentSchemaOut": {
        "description": "Output schema for a GST tax rate component.",
        "properties": {
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "component_type": {
            "$ref": "#/components/schemas/GstComponentType"
          },
          "rate": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
            "title": "Rate",
            "type": "string"
          },
          "region": {
            "title": "Region",
            "type": [
              "string",
              "null"
            ]
          },
          "position": {
            "title": "Position",
            "type": "integer"
          }
        },
        "required": [
          "id",
          "component_type",
          "rate",
          "region",
          "position"
        ],
        "title": "PublicGstTaxRateComponentSchemaOut",
        "type": "object"
      },
      "PublicGstTaxRateSchemaOut": {
        "description": "Output schema for GST tax rate.",
        "properties": {
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "country_code": {
            "title": "Country Code",
            "type": "string"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "rate": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
            "title": "Rate",
            "type": "string"
          },
          "tax_treatment": {
            "$ref": "#/components/schemas/GstTreatmentType"
          },
          "supply_category": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/GstSupplyCategory"
              },
              {
                "type": "null"
              }
            ]
          },
          "region": {
            "title": "Region",
            "type": [
              "string",
              "null"
            ]
          },
          "valid_from": {
            "format": "date",
            "title": "Valid From",
            "type": "string"
          },
          "valid_to": {
            "title": "Valid To",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "is_active": {
            "title": "Is Active",
            "type": "boolean"
          },
          "is_system": {
            "title": "Is System",
            "type": "boolean"
          },
          "description": {
            "title": "Description",
            "type": [
              "string",
              "null"
            ]
          },
          "components": {
            "items": {
              "$ref": "#/components/schemas/PublicGstTaxRateComponentSchemaOut"
            },
            "title": "Components",
            "type": "array"
          }
        },
        "required": [
          "id",
          "country_code",
          "name",
          "rate",
          "tax_treatment",
          "valid_from",
          "valid_to",
          "is_active",
          "is_system",
          "description",
          "components"
        ],
        "title": "PublicGstTaxRateSchemaOut",
        "type": "object"
      },
      "PublicProductTaxCodeListFilterSchema": {
        "properties": {
          "search": {
            "title": "Search",
            "type": [
              "string",
              "null"
            ]
          },
          "code": {
            "q": "code__icontains",
            "title": "Code",
            "type": [
              "string",
              "null"
            ]
          },
          "description": {
            "q": "description__icontains",
            "title": "Description",
            "type": [
              "string",
              "null"
            ]
          },
          "source": {
            "q": "source__in",
            "title": "Source",
            "items": {
              "$ref": "#/components/schemas/Sources"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "is_active": {
            "q": "is_active",
            "title": "Is Active",
            "type": [
              "boolean",
              "null"
            ]
          },
          "is_global": {
            "q": "is_global",
            "title": "Is Global",
            "type": [
              "boolean",
              "null"
            ]
          }
        },
        "title": "PublicProductTaxCodeListFilterSchema",
        "type": "object"
      },
      "Sources": {
        "enum": [
          "INTERNAL",
          "AVALARA"
        ],
        "title": "Sources",
        "type": "string"
      },
      "PagedPublicProductTaxCodeSchemaOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicProductTaxCodeSchemaOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicProductTaxCodeSchemaOut",
        "type": "object"
      },
      "PublicProductTaxCodeSchemaOut": {
        "properties": {
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "code": {
            "title": "Code",
            "type": "string"
          },
          "description": {
            "title": "Description",
            "type": "string"
          },
          "source": {
            "$ref": "#/components/schemas/Sources"
          },
          "is_active": {
            "title": "Is Active",
            "type": "boolean"
          },
          "is_global": {
            "title": "Is Global",
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "code",
          "description",
          "source",
          "is_active",
          "is_global"
        ],
        "title": "PublicProductTaxCodeSchemaOut",
        "type": "object"
      },
      "PublicProductTaxCodeSchemaCreateIn": {
        "properties": {
          "code": {
            "minLength": 1,
            "title": "Code",
            "type": "string"
          },
          "description": {
            "minLength": 1,
            "title": "Description",
            "type": "string"
          },
          "source": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Sources"
              }
            ],
            "default": "AVALARA"
          }
        },
        "required": [
          "code",
          "description"
        ],
        "title": "PublicProductTaxCodeSchemaCreateIn",
        "type": "object"
      },
      "PublicProductTaxCodeSchemaUpdateIn": {
        "properties": {
          "code": {
            "title": "Code",
            "minLength": 1,
            "type": [
              "string",
              "null"
            ]
          },
          "description": {
            "title": "Description",
            "minLength": 1,
            "type": [
              "string",
              "null"
            ]
          },
          "is_active": {
            "title": "Is Active",
            "type": [
              "boolean",
              "null"
            ]
          }
        },
        "title": "PublicProductTaxCodeSchemaUpdateIn",
        "type": "object"
      },
      "SuggestionType": {
        "enum": [
          "match",
          "create"
        ],
        "title": "SuggestionType",
        "type": "string"
      },
      "PagedPublicBankMatchSuggestionSchemaOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicBankMatchSuggestionSchemaOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicBankMatchSuggestionSchemaOut",
        "type": "object"
      },
      "PublicBankMatchSuggestionSchemaOut": {
        "description": "A single bank-match suggestion.\n\nPairs a bank-feed row (``financial_transaction_id``) with a DualEntry\naccounting transaction (``transaction_id``). ``suggestion_type`` tells you\nwhether we're proposing to match against something you already have on\nfile, or to draft a new transaction.",
        "properties": {
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "financial_transaction_id": {
            "title": "Financial Transaction Id",
            "type": "integer"
          },
          "transaction_id": {
            "title": "Transaction Id",
            "type": "integer"
          },
          "suggestion_type": {
            "$ref": "#/components/schemas/SuggestionType"
          },
          "confidence_score": {
            "description": "How confident the AI is, from 0.00 to 100.00. Null for deterministic (rule-based) matches where confidence doesn't apply.",
            "title": "Confidence Score",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "financial_transaction_id",
          "transaction_id",
          "suggestion_type"
        ],
        "title": "PublicBankMatchSuggestionSchemaOut",
        "type": "object"
      },
      "PublicBankMatchStatusCountsSchemaOut": {
        "description": "How many bank-feed rows are in each pipeline stage.\n\nPoll this after calling ``/populate/`` to see when the pipeline has\nfinished. The three \"still working\" stages are ``unprocessed``,\n``awaiting_ai``, and ``ai_in_progress``. When all three hit zero, you're\ndone and the terminal stages hold the results.",
        "properties": {
          "unprocessed": {
            "title": "Unprocessed",
            "type": "integer"
          },
          "deterministic_suggested": {
            "title": "Deterministic Suggested",
            "type": "integer"
          },
          "awaiting_ai": {
            "title": "Awaiting Ai",
            "type": "integer"
          },
          "ai_in_progress": {
            "title": "Ai In Progress",
            "type": "integer"
          },
          "ai_suggested": {
            "title": "Ai Suggested",
            "type": "integer"
          },
          "ai_no_match": {
            "title": "Ai No Match",
            "type": "integer"
          },
          "no_match": {
            "title": "No Match",
            "type": "integer"
          },
          "excluded": {
            "title": "Excluded",
            "type": "integer"
          },
          "matched": {
            "title": "Matched",
            "type": "integer"
          }
        },
        "required": [
          "unprocessed",
          "deterministic_suggested",
          "awaiting_ai",
          "ai_in_progress",
          "ai_suggested",
          "ai_no_match",
          "no_match",
          "excluded",
          "matched"
        ],
        "title": "PublicBankMatchStatusCountsSchemaOut",
        "type": "object"
      },
      "MatchingStatus": {
        "enum": [
          "unprocessed",
          "deterministic_suggested",
          "awaiting_ai",
          "ai_in_progress",
          "ai_suggested",
          "ai_no_match",
          "no_match",
          "excluded",
          "matched"
        ],
        "title": "MatchingStatus",
        "type": "string"
      },
      "PublicBankTransactionFilterSchema": {
        "description": "Query parameters for `GET /bank-transactions/`.",
        "properties": {
          "financial_account_id": {
            "description": "Limit to a single bank/credit-card account.",
            "title": "Financial Account Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "matching_status": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/MatchingStatus"
              },
              {
                "type": "null"
              }
            ],
            "description": "Pipeline stage filter, e.g. `unprocessed`, `ai_suggested`, `matched`, `no_match`, `excluded`."
          },
          "date_from": {
            "description": "Inclusive lower bound on `date`.",
            "title": "Date From",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "date_to": {
            "description": "Inclusive upper bound on `date`.",
            "title": "Date To",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "is_posted": {
            "description": "`true` for posted-only, `false` for pending-only, omit for both.",
            "title": "Is Posted",
            "type": [
              "boolean",
              "null"
            ]
          },
          "include_expired": {
            "default": false,
            "description": "By default expired rows are hidden; pass `true` to see them.",
            "title": "Include Expired",
            "type": "boolean"
          }
        },
        "title": "PublicBankTransactionFilterSchema",
        "type": "object"
      },
      "BankTransactionSource": {
        "enum": [
          "pdf_upload",
          "csv_upload",
          "manual_upload",
          "bai_upload",
          "meld",
          "plaid",
          "waycore",
          "saltedge"
        ],
        "title": "BankTransactionSource",
        "type": "string"
      },
      "PagedPublicBankTransactionSchemaOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicBankTransactionSchemaOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicBankTransactionSchemaOut",
        "type": "object"
      },
      "PublicBankTransactionSchemaOut": {
        "description": "A single bank-feed row (one debit or credit on a connected bank/credit-card account).\n\nUse this to drive matching externally: pick a row, decide which DualEntry\ntransaction it pairs with, then `POST /matches/`.",
        "properties": {
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "financial_account_id": {
            "title": "Financial Account Id",
            "type": "integer"
          },
          "financial_account_name": {
            "description": "Human-readable name of the bank/credit-card account this row belongs to.",
            "title": "Financial Account Name",
            "type": [
              "string",
              "null"
            ]
          },
          "date": {
            "format": "date-time",
            "title": "Date",
            "type": "string"
          },
          "posted_at": {
            "title": "Posted At",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "amount": {
            "description": "Signed amount. Positive = debit (money in), negative = credit (money out).",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
            "title": "Amount",
            "type": "string"
          },
          "debit_amount": {
            "description": "`max(amount, 0)`. Zero when this row is a credit.",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
            "title": "Debit Amount",
            "type": "string"
          },
          "credit_amount": {
            "description": "`abs(min(amount, 0))`. Zero when this row is a debit.",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
            "title": "Credit Amount",
            "type": "string"
          },
          "description": {
            "title": "Description",
            "type": "string"
          },
          "payee": {
            "description": "Merchant or counterparty, when the bank reports one.",
            "title": "Payee",
            "type": [
              "string",
              "null"
            ]
          },
          "currency_iso_4217_code": {
            "title": "Currency Iso 4217 Code",
            "type": [
              "string",
              "null"
            ]
          },
          "source": {
            "$ref": "#/components/schemas/BankTransactionSource",
            "description": "Where the row came from (Plaid, Meld, CSV upload, etc.)."
          },
          "is_posted": {
            "title": "Is Posted",
            "type": "boolean"
          },
          "is_expired": {
            "title": "Is Expired",
            "type": "boolean"
          },
          "matching_status": {
            "$ref": "#/components/schemas/MatchingStatus",
            "description": "Where the row sits in the bank-match pipeline. `matched` means a DualEntry transaction is paired to it."
          },
          "matched_transaction_ids": {
            "description": "DualEntry transaction IDs currently matched to this row. Empty unless `matching_status == 'matched'`.",
            "items": {
              "type": "integer"
            },
            "title": "Matched Transaction Ids",
            "type": "array"
          },
          "matched_entry_ids": {
            "description": "DualEntry entry IDs currently matched to this row (used for partial matches like journal entries).",
            "items": {
              "type": "integer"
            },
            "title": "Matched Entry Ids",
            "type": "array"
          }
        },
        "required": [
          "id",
          "financial_account_id",
          "date",
          "posted_at",
          "amount",
          "debit_amount",
          "credit_amount",
          "description",
          "currency_iso_4217_code",
          "source",
          "is_posted",
          "is_expired",
          "matching_status"
        ],
        "title": "PublicBankTransactionSchemaOut",
        "type": "object"
      },
      "PublicBankMatchSuccessSchema": {
        "properties": {
          "success": {
            "const": true,
            "default": true,
            "title": "Success",
            "type": "boolean"
          },
          "errors": {
            "additionalProperties": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "title": "Errors",
            "type": "object"
          },
          "match_group_id": {
            "title": "Match Group Id",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "title": "PublicBankMatchSuccessSchema",
        "type": "object"
      },
      "PublicBankMatchCreateSchemaIn": {
        "description": "Body for `POST /matches/`. Pair bank-feed row(s) with DualEntry target(s).\n\nUse the singular fields for a 1:1 match, or the plural fields\n(`financial_transaction_ids` + `transaction_ids`/`entry_ids`) for an M:N\nmatch. Don't mix a singular field with its plural counterpart.",
        "properties": {
          "financial_transaction_id": {
            "description": "ID of the bank-feed row to match (from `/bank-transactions/`).",
            "title": "Financial Transaction Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "transaction_id": {
            "description": "DualEntry transaction id to match against. Pass this **or** `entry_id`, not both.",
            "title": "Transaction Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "entry_id": {
            "description": "DualEntry entry id to match against (use for partial matches like a single line of a journal entry). Pass this **or** `transaction_id`.",
            "title": "Entry Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "financial_transaction_ids": {
            "description": "M:N: bank-feed row ids to match as one group. Same account and same sign.",
            "title": "Financial Transaction Ids",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "transaction_ids": {
            "description": "M:N: DualEntry transaction ids for the group. May be combined with `entry_ids`.",
            "title": "Transaction Ids",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "entry_ids": {
            "description": "M:N: DualEntry entry ids for the group. May be combined with `transaction_ids`.",
            "title": "Entry Ids",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "title": "PublicBankMatchCreateSchemaIn",
        "type": "object"
      },
      "PublicBankMatchUnmatchSchemaIn": {
        "description": "Body for `POST /unmatches/`. Tear down the whole match group for a bank-feed row or a `match_group_id`.",
        "properties": {
          "financial_transaction_id": {
            "description": "ID of a bank-feed row in the group to unmatch.",
            "title": "Financial Transaction Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "match_group_id": {
            "description": "ID of the match group to unmatch (from a `POST /matches/` response).",
            "title": "Match Group Id",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "title": "PublicBankMatchUnmatchSchemaIn",
        "type": "object"
      },
      "JournalEntryLineFilterSchema": {
        "properties": {
          "start_date": {
            "description": "Filter by start date (inclusive)",
            "title": "Start Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "end_date": {
            "description": "Filter by end date (inclusive)",
            "title": "End Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "journal_entry_number": {
            "description": "Filter by journal entry number(s)",
            "title": "Journal Entry Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "journal_entry_number_gte": {
            "description": "Filter by journal entry number >= value",
            "title": "Journal Entry Number Gte",
            "type": [
              "integer",
              "null"
            ]
          },
          "journal_entry_number_lte": {
            "description": "Filter by journal entry number <= value",
            "title": "Journal Entry Number Lte",
            "type": [
              "integer",
              "null"
            ]
          },
          "company_id": {
            "description": "Filter by company ID(s)",
            "title": "Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "record_status": {
            "description": "Filter by record status. Defaults to POSTED only if not specified.",
            "title": "Record Status",
            "items": {
              "$ref": "#/components/schemas/RecordStatus"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "title": "JournalEntryLineFilterSchema",
        "type": "object"
      },
      "JournalEntryLineSchemaOut": {
        "properties": {
          "amortizable_assets": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/AmortizableAssetRefOut"
            },
            "title": "Amortizable Assets",
            "type": "array"
          },
          "fixed_assets": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/FixedAssetRefOut"
            },
            "title": "Fixed Assets",
            "type": "array"
          },
          "debit": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Debit",
            "type": "string"
          },
          "credit": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Credit",
            "type": "string"
          },
          "classifications": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/RecordClassificationsSchemaOut"
            },
            "title": "Classifications",
            "type": "array"
          },
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "entry_id": {
            "title": "Entry Id",
            "type": "integer"
          },
          "account_number": {
            "title": "Account Number",
            "type": "integer"
          },
          "position": {
            "title": "Position",
            "type": "integer"
          },
          "memo": {
            "title": "Memo",
            "type": "string"
          },
          "customer_id": {
            "title": "Customer Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "customer_name": {
            "title": "Customer Name",
            "type": [
              "string",
              "null"
            ]
          },
          "vendor_id": {
            "title": "Vendor Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "vendor_name": {
            "title": "Vendor Name",
            "type": [
              "string",
              "null"
            ]
          },
          "reversal_line_id": {
            "title": "Reversal Line Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "reversal_entry_id": {
            "title": "Reversal Entry Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "journal_entry_number": {
            "title": "Journal Entry Number",
            "type": "integer"
          },
          "journal_entry_date": {
            "format": "date",
            "title": "Journal Entry Date",
            "type": "string"
          },
          "company_id": {
            "title": "Company Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "record_status": {
            "$ref": "#/components/schemas/RecordStatus"
          },
          "reversal_date": {
            "description": "Posting date of the reversal this line is mirrored into, or null when the journal entry is not reversed.",
            "title": "Reversal Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "debit",
          "credit",
          "id",
          "entry_id",
          "account_number",
          "position",
          "memo",
          "journal_entry_number",
          "journal_entry_date",
          "record_status"
        ],
        "title": "JournalEntryLineSchemaOut",
        "type": "object"
      },
      "PagedJournalEntryLineSchemaOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/JournalEntryLineSchemaOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedJournalEntryLineSchemaOut",
        "type": "object"
      },
      "AuthorizeResponse": {
        "properties": {
          "authorization_url": {
            "title": "Authorization Url",
            "type": "string"
          }
        },
        "required": [
          "authorization_url"
        ],
        "title": "AuthorizeResponse",
        "type": "object"
      },
      "ErrorResponse": {
        "properties": {
          "error": {
            "title": "Error",
            "type": "string"
          }
        },
        "required": [
          "error"
        ],
        "title": "ErrorResponse",
        "type": "object"
      },
      "AuthorizeRequest": {
        "properties": {
          "redirect_uri": {
            "title": "Redirect Uri",
            "type": "string"
          },
          "code_challenge": {
            "title": "Code Challenge",
            "type": "string"
          },
          "code_challenge_method": {
            "$ref": "#/components/schemas/CodeChallengeMethod"
          },
          "state": {
            "title": "State",
            "type": "string"
          }
        },
        "required": [
          "redirect_uri",
          "code_challenge",
          "code_challenge_method",
          "state"
        ],
        "title": "AuthorizeRequest",
        "type": "object"
      },
      "CodeChallengeMethod": {
        "enum": [
          "S256"
        ],
        "title": "CodeChallengeMethod",
        "type": "string"
      },
      "TokenResponse": {
        "properties": {
          "api_key": {
            "title": "Api Key",
            "type": "string"
          },
          "organization_id": {
            "title": "Organization Id",
            "type": "integer"
          },
          "user_email": {
            "title": "User Email",
            "type": "string"
          }
        },
        "required": [
          "api_key",
          "organization_id",
          "user_email"
        ],
        "title": "TokenResponse",
        "type": "object"
      },
      "GrantType": {
        "enum": [
          "authorization_code"
        ],
        "title": "GrantType",
        "type": "string"
      },
      "TokenRequest": {
        "properties": {
          "grant_type": {
            "$ref": "#/components/schemas/GrantType"
          },
          "code": {
            "title": "Code",
            "type": "string"
          },
          "code_verifier": {
            "title": "Code Verifier",
            "type": "string"
          },
          "redirect_uri": {
            "title": "Redirect Uri",
            "type": "string"
          }
        },
        "required": [
          "grant_type",
          "code",
          "code_verifier",
          "redirect_uri"
        ],
        "title": "TokenRequest",
        "type": "object"
      }
    }
  },
  "servers": [
    {
      "url": "https://api.dualentry.com",
      "description": "Production environment"
    },
    {
      "url": "https://api-dev.dualentry.com",
      "description": "Development environment (for testing)"
    }
  ],
  "tags": [
    {
      "name": "Health",
      "description": "Monitor API availability and service status. Use these endpoints to verify connectivity and check if the API is operational."
    },
    {
      "name": "Webhooks",
      "description": "Register webhook endpoints to receive real-time event notifications when records change in your organization. Manage subscriptions, view available topics, and inspect delivery history."
    },
    {
      "name": "Accounts",
      "description": "Manage your chart of accounts. Create and maintain the accounts used to categorize financial transactions, including assets, liabilities, equity, revenue, and expenses."
    },
    {
      "name": "Budgets",
      "description": "Manage financial budgets. Create and track income statement and balance sheet budgets with monthly cell values, actuals comparison, and classification filtering."
    },
    {
      "name": "Companies",
      "description": "Access and manage company information. Retrieve details about your organization including legal name, tax identifiers, addresses, and accounting preferences."
    },
    {
      "name": "Customers",
      "description": "Manage customer records. Create, update, and track customers who purchase goods or services from your organization, including contact information, billing addresses, and payment terms."
    },
    {
      "name": "Contracts",
      "description": "Manage revenue recognition contracts. Create and retrieve contracts with performance obligations, and manage obligation usage for usage-based obligations."
    },
    {
      "name": "Items",
      "description": "Manage products and services. Define items that appear on invoices and bills, including pricing, descriptions, and associated accounts for revenue or expense tracking."
    },
    {
      "name": "Vendors",
      "description": "Manage vendor and supplier records. Track businesses and individuals from whom you purchase goods or services, including contact details, payment terms, and tax information."
    },
    {
      "name": "Journal Entries",
      "description": "Create and manage manual journal entries. Record direct debits and credits to accounts for adjustments, accruals, reclassifications, and other accounting transactions."
    },
    {
      "name": "Journal Entry Lines",
      "description": "Retrieve journal entry lines across all journal entries. Supports bulk retrieval with filtering by date range, journal entry number, and company. This is a read-only projection of journal entry data."
    },
    {
      "name": "Invoices",
      "description": "Manage sales invoices. Create and track invoices sent to customers for goods or services rendered, including line items, taxes, discounts, and payment status."
    },
    {
      "name": "Sales Orders",
      "description": "Create and manage sales orders. Track customer orders for goods or services before invoicing, including line items, quantities, fulfillment status, and invoicing progress."
    },
    {
      "name": "Bills",
      "description": "Manage vendor bills and payables. Record and track bills received from vendors for goods or services purchased, including line items, due dates, and payment tracking."
    },
    {
      "name": "Customer Prepayments",
      "description": "Track advance payments from customers. Access prepayments received before goods or services are delivered, which can be applied to future invoices."
    },
    {
      "name": "Customer Prepayment Applications",
      "description": "Apply customer prepayments and credits to invoices. Record applications of prepayments or credit memos to reduce invoice balances."
    },
    {
      "name": "Customer Deposits",
      "description": "Manage customer deposit transactions. Record and track deposits received from customers as security or partial payment, held in liability accounts until earned or refunded."
    },
    {
      "name": "Customer Refunds",
      "description": "Process and track customer refunds. Record refunds issued to customers for overpayments, returns, or cancelled transactions."
    },
    {
      "name": "Customer Credits",
      "description": "Manage credit memos for customers. Issue credits for returned goods, billing adjustments, or discounts that reduce customer balances or can be applied to future invoices."
    },
    {
      "name": "Cash Sales",
      "description": "Record immediate cash sales transactions. Track sales where payment is received at the time of sale, including point-of-sale transactions and cash receipts."
    },
    {
      "name": "Customer Payments",
      "description": "Record and manage customer payments. Track payments received from customers and apply them to outstanding invoices, including partial payments and overpayments."
    },
    {
      "name": "Recurring Invoices",
      "description": "Automate recurring billing. Set up and manage templates for invoices that are automatically generated on a regular schedule (e.g., monthly subscriptions)."
    },
    {
      "name": "Recurring Bills",
      "description": "Automate recurring expenses. Configure templates for bills that repeat on a regular basis (e.g., monthly rent, subscriptions) to streamline expense tracking."
    },
    {
      "name": "Recurring Journal Entries",
      "description": "Automate recurring journal entries. Create templates for journal entries that occur regularly (e.g., monthly depreciation, amortization) to ensure consistent accounting treatment."
    },
    {
      "name": "Classifications",
      "description": "Manage custom classification dimensions. Create and maintain classification categories (e.g., departments, locations, projects) used to tag and analyze transactions across multiple dimensions."
    },
    {
      "name": "Classifications Lines",
      "description": "Manage classification values. Define the specific values within each classification category that can be assigned to transaction line items for detailed reporting and analysis."
    },
    {
      "name": "Custom Fields",
      "description": "Manage custom field definitions. Extend records with organization-specific attributes — name, type (text, number, boolean, date, single_select, multi_select, currency, link, paragraph), default value, options, and which record types (invoice, bill, customer, vendor, etc.) and companies the field applies to. Values are set via the `custom_fields` attribute on each record's create/update endpoint."
    },
    {
      "name": "Purchase Orders",
      "description": "Create and track purchase orders. Manage formal requests to vendors for goods or services, including approval workflows, receiving tracking, and bill matching."
    },
    {
      "name": "Vendor Payments",
      "description": "Record and manage vendor payments. Track payments made to vendors and apply them to outstanding bills and credits, including partial payments and overpayments."
    },
    {
      "name": "Vendor Prepayments",
      "description": "Track advance payments to vendors. Record prepayments made before goods or services are received, which can be applied to future bills."
    },
    {
      "name": "Vendor Prepayment Applications",
      "description": "Apply vendor prepayments to bills. Record applications of prepayments to reduce bill balances and track amounts owed."
    },
    {
      "name": "Vendor Credits",
      "description": "Manage vendor credit memos. Record credits from vendors for returned goods, billing adjustments, or discounts that reduce amounts owed or can be applied to future bills."
    },
    {
      "name": "Vendor Refunds",
      "description": "Process and track vendor refunds. Record refunds received from vendors for overpayments, returns, or cancelled transactions."
    },
    {
      "name": "Paper Checks",
      "description": "Manage paper check printing. Create, queue, and batch print paper checks for vendor payments, direct expenses, vendor prepayments, and customer refunds."
    },
    {
      "name": "Direct Expenses",
      "description": "Record direct expense transactions. Track payments made directly from a bank or credit card account for expenses, without going through the accounts payable process."
    },
    {
      "name": "Bank Transfers",
      "description": "Manage bank-to-bank transfers. Record and track transfers between bank and credit card accounts, including multi-currency transfers with exchange rate handling."
    },
    {
      "name": "Bank Match",
      "description": "Reconcile bank-feed rows against accounting transactions. List bank rows, trigger the matching pipeline, read AI suggestions, and confirm or undo matches. V2 API only."
    },
    {
      "name": "Fixed Assets",
      "description": "Manage fixed assets and capital equipment. Create, update, and track long-lived tangible assets including depreciation schedules, account assignments, and asset lifecycle management."
    },
    {
      "name": "Intercompany Journal Entries",
      "description": "Create and manage intercompany journal entries. Record GL activity that spans two or more companies within the same organization, with per-line company assignment and automatic intercompany elimination."
    },
    {
      "name": "Depreciation Books",
      "description": "Discover available depreciation books for multi-book depreciation. Each organization has a posting book (BOOK) and may have additional tax books (FEDERAL, AMT, STATE_*). V2 API only."
    },
    {
      "name": "VAT Rates",
      "description": "Look up available VAT (Value Added Tax) rates for your organization. Use these IDs as `vat_rate_id` on transaction line items. Rates are scoped by country and include standard, reduced, zero-rated, exempt, and reverse charge types. V2 API only."
    },
    {
      "name": "GST Tax Rates",
      "description": "Look up available GST (Goods and Services Tax) rates for your organization. Use these IDs as `gst_tax_rate_id` on transaction line items. Covers AU, NZ, SG, IN, CA GST regimes and MY SST, with per-component breakdowns (e.g. CGST+SGST for India). V2 API only."
    },
    {
      "name": "Product Tax Codes",
      "description": "Manage organization product tax codes and discover global product tax codes. Use these IDs as `product_tax_code_id` on item payloads. V2 API only."
    },
    {
      "name": "Approval Policies",
      "description": "Manage approval workflows and policies. Define approval rules, steps, conditions, and approvers for different record types. Monitor workflow execution states and view approval history."
    },
    {
      "name": "Inbox",
      "description": "View pending approvals and approval status. Access transactions and records awaiting approval across the organization, including full approval workflow details, approvers, and action history."
    }
  ],
  "x-tagGroups": [
    {
      "name": "Monitoring",
      "tags": [
        "Health"
      ]
    },
    {
      "name": "Developers",
      "tags": [
        "Webhooks"
      ]
    },
    {
      "name": "Accounting Setup",
      "tags": [
        "Accounts",
        "Items",
        "Classifications",
        "Classifications Lines",
        "Custom Fields"
      ]
    },
    {
      "name": "Organization",
      "tags": [
        "Companies"
      ]
    },
    {
      "name": "Governance",
      "tags": [
        "Approval Policies",
        "Inbox"
      ]
    },
    {
      "name": "Financial Planning",
      "tags": [
        "Budgets"
      ]
    },
    {
      "name": "Transactions",
      "tags": [
        "Journal Entries",
        "Journal Entry Lines",
        "Intercompany Journal Entries",
        "Recurring Journal Entries"
      ]
    },
    {
      "name": "Financial & Banking",
      "tags": [
        "Bank Transfers",
        "Bank Match"
      ]
    },
    {
      "name": "Money In",
      "tags": [
        "Invoices",
        "Contracts",
        "Sales Orders",
        "Recurring Invoices",
        "Customers",
        "Customer Payments",
        "Customer Prepayments",
        "Customer Prepayment Applications",
        "Customer Deposits",
        "Customer Refunds",
        "Customer Credits",
        "Cash Sales"
      ]
    },
    {
      "name": "Money Out",
      "tags": [
        "Bills",
        "Recurring Bills",
        "Purchase Orders",
        "Direct Expenses",
        "Vendors",
        "Vendor Payments",
        "Vendor Prepayments",
        "Vendor Prepayment Applications",
        "Vendor Credits",
        "Vendor Refunds",
        "Paper Checks"
      ]
    },
    {
      "name": "Assets",
      "tags": [
        "Fixed Assets",
        "Depreciation Books"
      ]
    },
    {
      "name": "Tax",
      "tags": [
        "VAT Rates",
        "GST Tax Rates",
        "Product Tax Codes"
      ]
    }
  ]
}