{
  "openapi": "3.1.0",
  "info": {
    "title": "DualEntry Public API",
    "version": "3.0.0-alpha",
    "description": ""
  },
  "paths": {
    "/public/v3-alpha/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"
        ]
      }
    },
    "/public/v3-alpha/invoices/lines/": {
      "get": {
        "operationId": "list_invoice_lines_collection",
        "summary": "List invoices 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": "updated_after",
            "schema": {
              "description": "Filter by parent updated_at >= value. Skips the default posting-date window when set.",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by parent updated_at >= value. Skips the default posting-date window when set."
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "description": "Filter by parent updated_at <= value. Skips the default posting-date window when set.",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by parent updated_at <= value. Skips the default posting-date window when set."
          },
          {
            "in": "query",
            "name": "record_number",
            "schema": {
              "description": "Filter by parent record number(s)",
              "title": "Record Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by parent record number(s)"
          },
          {
            "in": "query",
            "name": "record_number_gte",
            "schema": {
              "description": "Filter by parent record number >= value",
              "title": "Record Number Gte",
              "type": [
                "integer",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by parent record number >= value"
          },
          {
            "in": "query",
            "name": "record_number_lte",
            "schema": {
              "description": "Filter by parent record number <= value",
              "title": "Record Number Lte",
              "type": [
                "integer",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by parent record 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/PagedPublicInvoiceCollectionLineOut"
                }
              }
            }
          }
        },
        "description": "Retrieve invoices lines across all parent records. Returns paginated JSON. Date range defaults to the last 366 days if not provided. Maximum date range is 366 days. updated_after / updated_before filter on the parent record updated_at and skip the default posting-date window. Deep offsets above 5000 emit a server warning; prefer date, number, or updated_after filters for large pulls.",
        "tags": [
          "Invoices"
        ]
      }
    },
    "/public/v3-alpha/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": "code",
            "schema": {
              "title": "Code",
              "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": "number",
            "schema": {
              "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": {
              "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": "due_date",
            "schema": {
              "title": "Due Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "due_date_until",
            "schema": {
              "title": "Due Date Until",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "transaction_currency",
            "schema": {
              "title": "Transaction Currency",
              "items": {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "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"
                }
              ],
              "title": "Amount Gte"
            },
            "required": false
          },
          {
            "in": "query",
            "name": "amount_lte",
            "schema": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Amount Lte"
            },
            "required": false
          },
          {
            "in": "query",
            "name": "amount_due_gte",
            "schema": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Amount Due Gte"
            },
            "required": false
          },
          {
            "in": "query",
            "name": "amount_due_lte",
            "schema": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Amount Due Lte"
            },
            "required": false
          },
          {
            "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": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "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": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicInvoiceV2SchemaOut"
                }
              }
            }
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "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/v3-alpha/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": "code",
            "schema": {
              "title": "Code",
              "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": "number",
            "schema": {
              "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": {
              "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": "due_date",
            "schema": {
              "title": "Due Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "due_date_until",
            "schema": {
              "title": "Due Date Until",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "transaction_currency",
            "schema": {
              "title": "Transaction Currency",
              "items": {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "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"
                }
              ],
              "title": "Amount Gte"
            },
            "required": false
          },
          {
            "in": "query",
            "name": "amount_lte",
            "schema": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Amount Lte"
            },
            "required": false
          },
          {
            "in": "query",
            "name": "amount_due_gte",
            "schema": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Amount Due Gte"
            },
            "required": false
          },
          {
            "in": "query",
            "name": "amount_due_lte",
            "schema": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Amount Due Lte"
            },
            "required": false
          },
          {
            "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": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicInvoiceV2SchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "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 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."
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicInvoiceV2SchemaOut"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "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"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "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."
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicInvoiceV2SchemaOut"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "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"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Partially update an existing InvoiceV2 record. Send only the fields you want to change \u2014 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
        }
      }
    },
    "/public/v3-alpha/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."
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicInvoiceV2SchemaOut"
                }
              }
            }
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "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/v3-alpha/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."
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicInvoiceV2SchemaOut"
                }
              }
            }
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "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/v3-alpha/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": "code",
            "schema": {
              "title": "Code",
              "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": "number",
            "schema": {
              "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": {
              "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": "due_date",
            "schema": {
              "title": "Due Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "due_date_until",
            "schema": {
              "title": "Due Date Until",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "transaction_currency",
            "schema": {
              "title": "Transaction Currency",
              "items": {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "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"
                }
              ],
              "title": "Amount Gte"
            },
            "required": false
          },
          {
            "in": "query",
            "name": "amount_lte",
            "schema": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Amount Lte"
            },
            "required": false
          },
          {
            "in": "query",
            "name": "amount_due_gte",
            "schema": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Amount Due Gte"
            },
            "required": false
          },
          {
            "in": "query",
            "name": "amount_due_lte",
            "schema": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Amount Due Lte"
            },
            "required": false
          },
          {
            "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": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "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/v3-alpha/invoices/{record_number}/send/": {
      "post": {
        "operationId": "send_InvoiceV2_record",
        "summary": "Send 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."
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuccessSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "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": "Send an existing invoice by email, with the invoice PDF attached.\n\nThe path `{record_number}` is the invoice `number`.\n\nThe body matches `POST /api/email_send/invoice/` (`to_emails`, `cc_emails`, `bcc_emails`,\n`pdf_content`, `subject`, `message`, `sandbox`). `pdf_content` is optional. If it is omitted\nor empty, the worker captures the invoice PDF. If `subject` or `message` is omitted or empty,\ncompany invoice email templates are used, then organization defaults.\n\nIf `to_emails` is omitted or empty, the customer email on the invoice is used.\n\nA 200 response means the send was accepted, not that\nthe provider has delivered the message. Emails are sent in the background",
        "tags": [
          "Invoices"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicInvoiceSendSchemaIn"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v3-alpha/sales-orders/lines/": {
      "get": {
        "operationId": "list_sales_order_lines_collection",
        "summary": "List sales order 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": "updated_after",
            "schema": {
              "description": "Filter by parent updated_at >= value. Skips the default posting-date window when set.",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by parent updated_at >= value. Skips the default posting-date window when set."
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "description": "Filter by parent updated_at <= value. Skips the default posting-date window when set.",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by parent updated_at <= value. Skips the default posting-date window when set."
          },
          {
            "in": "query",
            "name": "record_number",
            "schema": {
              "description": "Filter by parent record number(s)",
              "title": "Record Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by parent record number(s)"
          },
          {
            "in": "query",
            "name": "record_number_gte",
            "schema": {
              "description": "Filter by parent record number >= value",
              "title": "Record Number Gte",
              "type": [
                "integer",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by parent record number >= value"
          },
          {
            "in": "query",
            "name": "record_number_lte",
            "schema": {
              "description": "Filter by parent record number <= value",
              "title": "Record Number Lte",
              "type": [
                "integer",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by parent record 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/PagedPublicSalesOrderCollectionLineOut"
                }
              }
            }
          }
        },
        "description": "Retrieve sales orders lines across all parent records. Returns paginated JSON. Date range defaults to the last 366 days if not provided. Maximum date range is 366 days. updated_after / updated_before filter on the parent record updated_at and skip the default posting-date window. Deep offsets above 5000 emit a server warning; prefer date, number, or updated_after filters for large pulls.",
        "tags": [
          "Sales Orders"
        ]
      }
    },
    "/public/v3-alpha/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": {
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "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": {
              "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": "record_status",
            "schema": {
              "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": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "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": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicSalesOrderV2SchemaOut"
                }
              }
            }
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "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/v3-alpha/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": {
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "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": {
              "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": "record_status",
            "schema": {
              "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": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicSalesOrderV2SchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "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 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."
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicSalesOrderV2SchemaOut"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "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"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "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/v3-alpha/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."
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicSalesOrderV2SchemaOut"
                }
              }
            }
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "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/v3-alpha/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": {
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "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": {
              "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": "record_status",
            "schema": {
              "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": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "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/v3-alpha/bills/lines/": {
      "get": {
        "operationId": "list_bill_lines_collection",
        "summary": "List bills 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": "updated_after",
            "schema": {
              "description": "Filter by parent updated_at >= value. Skips the default posting-date window when set.",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by parent updated_at >= value. Skips the default posting-date window when set."
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "description": "Filter by parent updated_at <= value. Skips the default posting-date window when set.",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by parent updated_at <= value. Skips the default posting-date window when set."
          },
          {
            "in": "query",
            "name": "record_number",
            "schema": {
              "description": "Filter by parent record number(s)",
              "title": "Record Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by parent record number(s)"
          },
          {
            "in": "query",
            "name": "record_number_gte",
            "schema": {
              "description": "Filter by parent record number >= value",
              "title": "Record Number Gte",
              "type": [
                "integer",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by parent record number >= value"
          },
          {
            "in": "query",
            "name": "record_number_lte",
            "schema": {
              "description": "Filter by parent record number <= value",
              "title": "Record Number Lte",
              "type": [
                "integer",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by parent record 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/PagedPublicBillCollectionLineOut"
                }
              }
            }
          }
        },
        "description": "Retrieve bills lines across all parent records. Returns paginated JSON. Date range defaults to the last 366 days if not provided. Maximum date range is 366 days. updated_after / updated_before filter on the parent record updated_at and skip the default posting-date window. Deep offsets above 5000 emit a server warning; prefer date, number, or updated_after filters for large pulls.",
        "tags": [
          "Bills"
        ]
      }
    },
    "/public/v3-alpha/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": "code",
            "schema": {
              "title": "Code",
              "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": "vendor_id",
            "schema": {
              "title": "Vendor Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "title": "Number",
              "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": "due_date",
            "schema": {
              "title": "Due Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "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": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "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": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicBillV2SchemaOut"
                }
              }
            }
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "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/v3-alpha/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": "code",
            "schema": {
              "title": "Code",
              "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": "vendor_id",
            "schema": {
              "title": "Vendor Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "title": "Number",
              "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": "due_date",
            "schema": {
              "title": "Due Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "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": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicBillV2SchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "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 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."
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicBillV2SchemaOut"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "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"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "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."
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicBillV2SchemaOut"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "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"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Partially update an existing BillV2 record. Send only the fields you want to change \u2014 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
        }
      }
    },
    "/public/v3-alpha/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."
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicBillV2SchemaOut"
                }
              }
            }
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "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/v3-alpha/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": "code",
            "schema": {
              "title": "Code",
              "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": "vendor_id",
            "schema": {
              "title": "Vendor Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "title": "Number",
              "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": "due_date",
            "schema": {
              "title": "Due Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "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": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "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/v3-alpha/journal-entries/lines/": {
      "get": {
        "operationId": "list_journal_entry_lines_collection",
        "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": "updated_after",
            "schema": {
              "description": "Filter by parent updated_at >= value. Skips the default posting-date window when set.",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by parent updated_at >= value. Skips the default posting-date window when set."
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "description": "Filter by parent updated_at <= value. Skips the default posting-date window when set.",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by parent updated_at <= value. Skips the default posting-date window when set."
          },
          {
            "in": "query",
            "name": "record_number",
            "schema": {
              "description": "Filter by parent record number(s)",
              "title": "Record Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by parent record number(s)"
          },
          {
            "in": "query",
            "name": "record_number_gte",
            "schema": {
              "description": "Filter by parent record number >= value",
              "title": "Record Number Gte",
              "type": [
                "integer",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by parent record number >= value"
          },
          {
            "in": "query",
            "name": "record_number_lte",
            "schema": {
              "description": "Filter by parent record number <= value",
              "title": "Record Number Lte",
              "type": [
                "integer",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by parent record 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/PagedPublicJournalEntryCollectionLineOut"
                }
              }
            }
          }
        },
        "description": "Retrieve journal entries lines across all parent records. Returns paginated JSON. Date range defaults to the last 366 days if not provided. Maximum date range is 366 days. updated_after / updated_before filter on the parent record updated_at and skip the default posting-date window. Deep offsets above 5000 emit a server warning; prefer date, number, or updated_after filters for large pulls.",
        "tags": [
          "Journal Entries"
        ]
      }
    },
    "/public/v3-alpha/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": "code",
            "schema": {
              "title": "Code",
              "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": "account_id",
            "schema": {
              "title": "Account Id",
              "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": "vendor_id",
            "schema": {
              "title": "Vendor Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "title": "Number",
              "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": "record_status",
            "schema": {
              "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"
                }
              ],
              "title": "Amount Gte"
            },
            "required": false
          },
          {
            "in": "query",
            "name": "amount_lte",
            "schema": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Amount Lte"
            },
            "required": false
          },
          {
            "in": "query",
            "name": "created_by_id",
            "schema": {
              "title": "Created By Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "created_by_name",
            "schema": {
              "title": "Created By Name",
              "items": {
                "type": "string"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "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": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicJournalEntryV2SchemaOut"
                }
              }
            }
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "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/v3-alpha/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": "code",
            "schema": {
              "title": "Code",
              "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": "account_id",
            "schema": {
              "title": "Account Id",
              "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": "vendor_id",
            "schema": {
              "title": "Vendor Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "title": "Number",
              "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": "record_status",
            "schema": {
              "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"
                }
              ],
              "title": "Amount Gte"
            },
            "required": false
          },
          {
            "in": "query",
            "name": "amount_lte",
            "schema": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Amount Lte"
            },
            "required": false
          },
          {
            "in": "query",
            "name": "created_by_id",
            "schema": {
              "title": "Created By Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "created_by_name",
            "schema": {
              "title": "Created By Name",
              "items": {
                "type": "string"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicJournalEntryV2SchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "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 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."
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicJournalEntryV2SchemaOut"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "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"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "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/v3-alpha/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."
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicJournalEntryV2SchemaOut"
                }
              }
            }
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "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/v3-alpha/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": "code",
            "schema": {
              "title": "Code",
              "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": "account_id",
            "schema": {
              "title": "Account Id",
              "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": "vendor_id",
            "schema": {
              "title": "Vendor Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "title": "Number",
              "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": "record_status",
            "schema": {
              "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"
                }
              ],
              "title": "Amount Gte"
            },
            "required": false
          },
          {
            "in": "query",
            "name": "amount_lte",
            "schema": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Amount Lte"
            },
            "required": false
          },
          {
            "in": "query",
            "name": "created_by_id",
            "schema": {
              "title": "Created By Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "created_by_name",
            "schema": {
              "title": "Created By Name",
              "items": {
                "type": "string"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "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/v3-alpha/purchase-orders/lines/": {
      "get": {
        "operationId": "list_purchase_order_lines_collection",
        "summary": "List purchase order 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": "updated_after",
            "schema": {
              "description": "Filter by parent updated_at >= value. Skips the default posting-date window when set.",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by parent updated_at >= value. Skips the default posting-date window when set."
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "description": "Filter by parent updated_at <= value. Skips the default posting-date window when set.",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by parent updated_at <= value. Skips the default posting-date window when set."
          },
          {
            "in": "query",
            "name": "record_number",
            "schema": {
              "description": "Filter by parent record number(s)",
              "title": "Record Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by parent record number(s)"
          },
          {
            "in": "query",
            "name": "record_number_gte",
            "schema": {
              "description": "Filter by parent record number >= value",
              "title": "Record Number Gte",
              "type": [
                "integer",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by parent record number >= value"
          },
          {
            "in": "query",
            "name": "record_number_lte",
            "schema": {
              "description": "Filter by parent record number <= value",
              "title": "Record Number Lte",
              "type": [
                "integer",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by parent record 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/PagedPublicPurchaseOrderCollectionLineOut"
                }
              }
            }
          }
        },
        "description": "Retrieve purchase orders lines across all parent records. Returns paginated JSON. Date range defaults to the last 366 days if not provided. Maximum date range is 366 days. updated_after / updated_before filter on the parent record updated_at and skip the default posting-date window. Deep offsets above 5000 emit a server warning; prefer date, number, or updated_after filters for large pulls.",
        "tags": [
          "Purchase Orders"
        ]
      }
    },
    "/public/v3-alpha/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": {
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "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": {
              "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": "record_status",
            "schema": {
              "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": "lifecycle_status",
            "schema": {
              "title": "Lifecycle Status",
              "items": {
                "$ref": "#/components/schemas/PurchaseOrderLifecycleStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "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": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicPurchaseOrderV2SchemaOut"
                }
              }
            }
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "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/v3-alpha/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": {
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "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": {
              "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": "record_status",
            "schema": {
              "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": "lifecycle_status",
            "schema": {
              "title": "Lifecycle Status",
              "items": {
                "$ref": "#/components/schemas/PurchaseOrderLifecycleStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicPurchaseOrderV2SchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "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 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."
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicPurchaseOrderV2SchemaOut"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "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"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "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/v3-alpha/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."
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicPurchaseOrderV2SchemaOut"
                }
              }
            }
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "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/v3-alpha/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": {
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "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": {
              "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": "record_status",
            "schema": {
              "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": "lifecycle_status",
            "schema": {
              "title": "Lifecycle Status",
              "items": {
                "$ref": "#/components/schemas/PurchaseOrderLifecycleStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "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/v3-alpha/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": "code",
            "schema": {
              "title": "Code",
              "items": {
                "type": "string"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "id",
            "schema": {
              "title": "Id",
              "items": {
                "type": "integer"
              },
              "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": "number",
            "schema": {
              "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": {
              "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": "transaction_currency",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemCurrencies"
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "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": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCustomerPrepaymentSchemaOut"
                }
              }
            }
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "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/v3-alpha/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": "code",
            "schema": {
              "title": "Code",
              "items": {
                "type": "string"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "id",
            "schema": {
              "title": "Id",
              "items": {
                "type": "integer"
              },
              "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": "number",
            "schema": {
              "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": {
              "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": "transaction_currency",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemCurrencies"
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCustomerPrepaymentSchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "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 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."
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCustomerPrepaymentSchemaOut"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "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"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "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
        }
      },
      "patch": {
        "operationId": "patch_CustomerPrepayment_record",
        "summary": "Update CustomerPrepayment 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."
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCustomerPrepaymentSchemaOut"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "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"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Partially update an existing CustomerPrepayment record. Send only the fields you want to change \u2014 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 Prepayments"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicCustomerPrepaymentSchemaPatchIn"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v3-alpha/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."
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCustomerPrepaymentSchemaOut"
                }
              }
            }
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "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/v3-alpha/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": "code",
            "schema": {
              "title": "Code",
              "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": "number",
            "schema": {
              "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": {
              "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": "transaction_currency",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemCurrencies"
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "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": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCustomerPrepaymentApplicationV2SchemaOut"
                }
              }
            }
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "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/v3-alpha/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": "code",
            "schema": {
              "title": "Code",
              "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": "number",
            "schema": {
              "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": {
              "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": "transaction_currency",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemCurrencies"
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCustomerPrepaymentApplicationV2SchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "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 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."
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCustomerPrepaymentApplicationV2SchemaOut"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "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"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "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
        }
      },
      "patch": {
        "operationId": "patch_CustomerPrepaymentApplicationV2_record",
        "summary": "Update CustomerPrepaymentApplicationV2 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."
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCustomerPrepaymentApplicationV2SchemaOut"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "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"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Partially update an existing CustomerPrepaymentApplicationV2 record. Send only the fields you want to change \u2014 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 Prepayment Applications"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicCustomerPrepaymentApplicationSchemaPatchIn"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v3-alpha/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."
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCustomerPrepaymentApplicationV2SchemaOut"
                }
              }
            }
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "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/v3-alpha/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": "code",
            "schema": {
              "title": "Code",
              "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": "number",
            "schema": {
              "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": {
              "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": "transaction_currency",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemCurrencies"
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "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/v3-alpha/customer-deposits/lines/": {
      "get": {
        "operationId": "list_customer_deposit_lines_collection",
        "summary": "List customer deposits 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": "updated_after",
            "schema": {
              "description": "Filter by parent updated_at >= value. Skips the default posting-date window when set.",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by parent updated_at >= value. Skips the default posting-date window when set."
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "description": "Filter by parent updated_at <= value. Skips the default posting-date window when set.",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by parent updated_at <= value. Skips the default posting-date window when set."
          },
          {
            "in": "query",
            "name": "record_number",
            "schema": {
              "description": "Filter by parent record number(s)",
              "title": "Record Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by parent record number(s)"
          },
          {
            "in": "query",
            "name": "record_number_gte",
            "schema": {
              "description": "Filter by parent record number >= value",
              "title": "Record Number Gte",
              "type": [
                "integer",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by parent record number >= value"
          },
          {
            "in": "query",
            "name": "record_number_lte",
            "schema": {
              "description": "Filter by parent record number <= value",
              "title": "Record Number Lte",
              "type": [
                "integer",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by parent record 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/PagedPublicCustomerDepositCollectionLineOut"
                }
              }
            }
          }
        },
        "description": "Retrieve customer deposits lines across all parent records. Returns paginated JSON. Date range defaults to the last 366 days if not provided. Maximum date range is 366 days. updated_after / updated_before filter on the parent record updated_at and skip the default posting-date window. Deep offsets above 5000 emit a server warning; prefer date, number, or updated_after filters for large pulls.",
        "tags": [
          "Customer Deposits"
        ]
      }
    },
    "/public/v3-alpha/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": "code",
            "schema": {
              "title": "Code",
              "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": "number",
            "schema": {
              "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": {
              "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": "transaction_currency",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemCurrencies"
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "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": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCustomerDepositV2SchemaOut"
                }
              }
            }
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "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/v3-alpha/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": "code",
            "schema": {
              "title": "Code",
              "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": "number",
            "schema": {
              "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": {
              "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": "transaction_currency",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemCurrencies"
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCustomerDepositV2SchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "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 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."
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCustomerDepositV2SchemaOut"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "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"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "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/v3-alpha/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."
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCustomerDepositV2SchemaOut"
                }
              }
            }
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "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/v3-alpha/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": "code",
            "schema": {
              "title": "Code",
              "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": "number",
            "schema": {
              "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": {
              "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": "transaction_currency",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemCurrencies"
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "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/v3-alpha/customer-refunds/": {
      "get": {
        "operationId": "list_CustomerRefundV2_records",
        "summary": "List CustomerRefundV2 records",
        "parameters": [
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "code",
            "schema": {
              "title": "Code",
              "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": "number",
            "schema": {
              "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": {
              "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": "transaction_currency",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemCurrencies"
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "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/PagedPublicCustomerRefundV2ListSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a paginated list of CustomerRefundV2 records with filtering and ordering options.",
        "tags": [
          "Customer Refunds"
        ]
      },
      "post": {
        "operationId": "create_CustomerRefundV2_record",
        "summary": "Create CustomerRefundV2 record",
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCustomerRefundV2SchemaOut"
                }
              }
            }
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Create a new CustomerRefundV2 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/v3-alpha/customer-refunds/{record_number}/": {
      "get": {
        "operationId": "get_CustomerRefundV2_record",
        "summary": "Get CustomerRefundV2 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": "code",
            "schema": {
              "title": "Code",
              "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": "number",
            "schema": {
              "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": {
              "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": "transaction_currency",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemCurrencies"
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCustomerRefundV2SchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "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 specific CustomerRefundV2 record by its record number with all related data.",
        "tags": [
          "Customer Refunds"
        ]
      },
      "put": {
        "operationId": "update_CustomerRefundV2_record",
        "summary": "Update CustomerRefundV2 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."
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCustomerRefundV2SchemaOut"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "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"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Update an existing CustomerRefundV2 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/v3-alpha/customer-refunds/{record_number}/attachments/": {
      "post": {
        "operationId": "create_CustomerRefundV2_record_attachments",
        "summary": "Create CustomerRefundV2 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."
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCustomerRefundV2SchemaOut"
                }
              }
            }
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Upload attachments to a CustomerRefundV2 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/v3-alpha/customer-refunds/{record_number}/lines/": {
      "get": {
        "operationId": "list_CustomerRefundV2_record_lines",
        "summary": "List CustomerRefundV2 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": "code",
            "schema": {
              "title": "Code",
              "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": "number",
            "schema": {
              "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": {
              "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": "transaction_currency",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemCurrencies"
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "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/PagedPublicCustomerRefundItemOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a paginated list of lines for a specific CustomerRefundV2 record, ordered by position.",
        "tags": [
          "Customer Refunds"
        ]
      }
    },
    "/public/v3-alpha/customer-credits/lines/": {
      "get": {
        "operationId": "list_customer_credit_lines_collection",
        "summary": "List customer credits 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": "updated_after",
            "schema": {
              "description": "Filter by parent updated_at >= value. Skips the default posting-date window when set.",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by parent updated_at >= value. Skips the default posting-date window when set."
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "description": "Filter by parent updated_at <= value. Skips the default posting-date window when set.",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by parent updated_at <= value. Skips the default posting-date window when set."
          },
          {
            "in": "query",
            "name": "record_number",
            "schema": {
              "description": "Filter by parent record number(s)",
              "title": "Record Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by parent record number(s)"
          },
          {
            "in": "query",
            "name": "record_number_gte",
            "schema": {
              "description": "Filter by parent record number >= value",
              "title": "Record Number Gte",
              "type": [
                "integer",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by parent record number >= value"
          },
          {
            "in": "query",
            "name": "record_number_lte",
            "schema": {
              "description": "Filter by parent record number <= value",
              "title": "Record Number Lte",
              "type": [
                "integer",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by parent record 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/PagedPublicCustomerCreditCollectionLineOut"
                }
              }
            }
          }
        },
        "description": "Retrieve customer credits lines across all parent records. Returns paginated JSON. Date range defaults to the last 366 days if not provided. Maximum date range is 366 days. updated_after / updated_before filter on the parent record updated_at and skip the default posting-date window. Deep offsets above 5000 emit a server warning; prefer date, number, or updated_after filters for large pulls.",
        "tags": [
          "Customer Credits"
        ]
      }
    },
    "/public/v3-alpha/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": "code",
            "schema": {
              "title": "Code",
              "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": "number",
            "schema": {
              "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": {
              "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": "transaction_currency",
            "schema": {
              "title": "Transaction Currency",
              "items": {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "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": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCustomerCreditV2SchemaOut"
                }
              }
            }
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "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/v3-alpha/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": "code",
            "schema": {
              "title": "Code",
              "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": "number",
            "schema": {
              "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": {
              "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": "transaction_currency",
            "schema": {
              "title": "Transaction Currency",
              "items": {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCustomerCreditV2SchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "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 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."
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCustomerCreditV2SchemaOut"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "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"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "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
        }
      },
      "patch": {
        "operationId": "patch_CustomerCreditV2_record",
        "summary": "Update CustomerCreditV2 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."
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCustomerCreditV2SchemaOut"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "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"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Partially update an existing CustomerCreditV2 record. Send only the fields you want to change \u2014 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 Credits"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicCustomerCreditSchemaPatchIn"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v3-alpha/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": "code",
            "schema": {
              "title": "Code",
              "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": "number",
            "schema": {
              "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": {
              "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": "transaction_currency",
            "schema": {
              "title": "Transaction Currency",
              "items": {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "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/v3-alpha/cash-sales/lines/": {
      "get": {
        "operationId": "list_cash_sale_lines_collection",
        "summary": "List cash sales 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": "updated_after",
            "schema": {
              "description": "Filter by parent updated_at >= value. Skips the default posting-date window when set.",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by parent updated_at >= value. Skips the default posting-date window when set."
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "description": "Filter by parent updated_at <= value. Skips the default posting-date window when set.",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by parent updated_at <= value. Skips the default posting-date window when set."
          },
          {
            "in": "query",
            "name": "record_number",
            "schema": {
              "description": "Filter by parent record number(s)",
              "title": "Record Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by parent record number(s)"
          },
          {
            "in": "query",
            "name": "record_number_gte",
            "schema": {
              "description": "Filter by parent record number >= value",
              "title": "Record Number Gte",
              "type": [
                "integer",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by parent record number >= value"
          },
          {
            "in": "query",
            "name": "record_number_lte",
            "schema": {
              "description": "Filter by parent record number <= value",
              "title": "Record Number Lte",
              "type": [
                "integer",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by parent record 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/PagedPublicCashSaleCollectionLineOut"
                }
              }
            }
          }
        },
        "description": "Retrieve cash sales lines across all parent records. Returns paginated JSON. Date range defaults to the last 366 days if not provided. Maximum date range is 366 days. updated_after / updated_before filter on the parent record updated_at and skip the default posting-date window. Deep offsets above 5000 emit a server warning; prefer date, number, or updated_after filters for large pulls.",
        "tags": [
          "Cash Sales"
        ]
      }
    },
    "/public/v3-alpha/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": "code",
            "schema": {
              "title": "Code",
              "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": "number",
            "schema": {
              "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": {
              "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": "transaction_currency",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemCurrencies"
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "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": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCashSaleV2SchemaOut"
                }
              }
            }
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "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/v3-alpha/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": "code",
            "schema": {
              "title": "Code",
              "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": "number",
            "schema": {
              "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": {
              "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": "transaction_currency",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemCurrencies"
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCashSaleV2SchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "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 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."
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCashSaleV2SchemaOut"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "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"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "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/v3-alpha/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."
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCashSaleV2SchemaOut"
                }
              }
            }
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "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/v3-alpha/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": "code",
            "schema": {
              "title": "Code",
              "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": "number",
            "schema": {
              "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": {
              "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": "transaction_currency",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemCurrencies"
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "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/v3-alpha/customer-payments/lines/": {
      "get": {
        "operationId": "list_customer_payment_lines_collection",
        "summary": "List customer payments 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": "updated_after",
            "schema": {
              "description": "Filter by parent updated_at >= value. Skips the default posting-date window when set.",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by parent updated_at >= value. Skips the default posting-date window when set."
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "description": "Filter by parent updated_at <= value. Skips the default posting-date window when set.",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by parent updated_at <= value. Skips the default posting-date window when set."
          },
          {
            "in": "query",
            "name": "record_number",
            "schema": {
              "description": "Filter by parent record number(s)",
              "title": "Record Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by parent record number(s)"
          },
          {
            "in": "query",
            "name": "record_number_gte",
            "schema": {
              "description": "Filter by parent record number >= value",
              "title": "Record Number Gte",
              "type": [
                "integer",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by parent record number >= value"
          },
          {
            "in": "query",
            "name": "record_number_lte",
            "schema": {
              "description": "Filter by parent record number <= value",
              "title": "Record Number Lte",
              "type": [
                "integer",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by parent record 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/PagedPublicCustomerPaymentCollectionLineOut"
                }
              }
            }
          }
        },
        "description": "Retrieve customer payments lines across all parent records. Returns paginated JSON. Date range defaults to the last 366 days if not provided. Maximum date range is 366 days. updated_after / updated_before filter on the parent record updated_at and skip the default posting-date window. Deep offsets above 5000 emit a server warning; prefer date, number, or updated_after filters for large pulls.",
        "tags": [
          "Customer Payments"
        ]
      }
    },
    "/public/v3-alpha/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": "code",
            "schema": {
              "title": "Code",
              "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": "number",
            "schema": {
              "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": {
              "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": "transaction_currency",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemCurrencies"
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "invoice_number",
            "schema": {
              "title": "Invoice Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "customer_credit_number",
            "schema": {
              "title": "Customer Credit Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "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": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCustomerPaymentV2SchemaOut"
                }
              }
            }
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "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/v3-alpha/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": "code",
            "schema": {
              "title": "Code",
              "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": "number",
            "schema": {
              "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": {
              "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": "transaction_currency",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemCurrencies"
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "invoice_number",
            "schema": {
              "title": "Invoice Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "customer_credit_number",
            "schema": {
              "title": "Customer Credit Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCustomerPaymentV2SchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "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 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."
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCustomerPaymentV2SchemaOut"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "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"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "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."
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCustomerPaymentV2SchemaOut"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "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"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Partially update an existing CustomerPaymentV2 record. Send only the fields you want to change \u2014 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
        }
      }
    },
    "/public/v3-alpha/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": "code",
            "schema": {
              "title": "Code",
              "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": "number",
            "schema": {
              "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": {
              "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": "transaction_currency",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemCurrencies"
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "invoice_number",
            "schema": {
              "title": "Invoice Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "customer_credit_number",
            "schema": {
              "title": "Customer Credit Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "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/v3-alpha/vendor-payments/lines/": {
      "get": {
        "operationId": "list_vendor_payment_lines_collection",
        "summary": "List vendor payments 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": "updated_after",
            "schema": {
              "description": "Filter by parent updated_at >= value. Skips the default posting-date window when set.",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by parent updated_at >= value. Skips the default posting-date window when set."
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "description": "Filter by parent updated_at <= value. Skips the default posting-date window when set.",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by parent updated_at <= value. Skips the default posting-date window when set."
          },
          {
            "in": "query",
            "name": "record_number",
            "schema": {
              "description": "Filter by parent record number(s)",
              "title": "Record Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by parent record number(s)"
          },
          {
            "in": "query",
            "name": "record_number_gte",
            "schema": {
              "description": "Filter by parent record number >= value",
              "title": "Record Number Gte",
              "type": [
                "integer",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by parent record number >= value"
          },
          {
            "in": "query",
            "name": "record_number_lte",
            "schema": {
              "description": "Filter by parent record number <= value",
              "title": "Record Number Lte",
              "type": [
                "integer",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by parent record 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/PagedPublicVendorPaymentCollectionLineOut"
                }
              }
            }
          }
        },
        "description": "Retrieve vendor payments lines across all parent records. Returns paginated JSON. Date range defaults to the last 366 days if not provided. Maximum date range is 366 days. updated_after / updated_before filter on the parent record updated_at and skip the default posting-date window. Deep offsets above 5000 emit a server warning; prefer date, number, or updated_after filters for large pulls.",
        "tags": [
          "Vendor Payments"
        ]
      }
    },
    "/public/v3-alpha/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": "code",
            "schema": {
              "title": "Code",
              "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": "number",
            "schema": {
              "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": {
              "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": "transaction_currency",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemCurrencies"
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "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": "vendor_credit_number",
            "schema": {
              "title": "Vendor Credit Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "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": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicVendorPaymentV2SchemaOut"
                }
              }
            }
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "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/v3-alpha/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": "code",
            "schema": {
              "title": "Code",
              "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": "number",
            "schema": {
              "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": {
              "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": "transaction_currency",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemCurrencies"
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "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": "vendor_credit_number",
            "schema": {
              "title": "Vendor Credit Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicVendorPaymentV2SchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "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 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."
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicVendorPaymentV2SchemaOut"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "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"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "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/v3-alpha/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": "code",
            "schema": {
              "title": "Code",
              "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": "number",
            "schema": {
              "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": {
              "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": "transaction_currency",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemCurrencies"
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "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": "vendor_credit_number",
            "schema": {
              "title": "Vendor Credit Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "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/v3-alpha/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": "code",
            "schema": {
              "title": "Code",
              "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": "number",
            "schema": {
              "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": {
              "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": "transaction_currency",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemCurrencies"
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "recurring_record_id",
            "schema": {
              "title": "Recurring Record Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "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": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicVendorPrepaymentSchemaOut"
                }
              }
            }
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "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/v3-alpha/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": "code",
            "schema": {
              "title": "Code",
              "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": "number",
            "schema": {
              "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": {
              "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": "transaction_currency",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemCurrencies"
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "recurring_record_id",
            "schema": {
              "title": "Recurring Record Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicVendorPrepaymentSchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "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 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."
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicVendorPrepaymentSchemaOut"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "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"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "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/v3-alpha/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": "code",
            "schema": {
              "title": "Code",
              "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": "number",
            "schema": {
              "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": {
              "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": "transaction_currency",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemCurrencies"
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "bill_id",
            "schema": {
              "title": "Bill Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "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": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicVendorPrepaymentApplicationV2SchemaOut"
                }
              }
            }
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "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/v3-alpha/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": "code",
            "schema": {
              "title": "Code",
              "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": "number",
            "schema": {
              "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": {
              "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": "transaction_currency",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemCurrencies"
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "bill_id",
            "schema": {
              "title": "Bill Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicVendorPrepaymentApplicationV2SchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "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 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."
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicVendorPrepaymentApplicationV2SchemaOut"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "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"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "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/v3-alpha/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": "code",
            "schema": {
              "title": "Code",
              "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": "number",
            "schema": {
              "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": {
              "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": "transaction_currency",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemCurrencies"
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "bill_id",
            "schema": {
              "title": "Bill Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "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/v3-alpha/vendor-credits/lines/": {
      "get": {
        "operationId": "list_vendor_credit_lines_collection",
        "summary": "List vendor credits 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": "updated_after",
            "schema": {
              "description": "Filter by parent updated_at >= value. Skips the default posting-date window when set.",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by parent updated_at >= value. Skips the default posting-date window when set."
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "description": "Filter by parent updated_at <= value. Skips the default posting-date window when set.",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by parent updated_at <= value. Skips the default posting-date window when set."
          },
          {
            "in": "query",
            "name": "record_number",
            "schema": {
              "description": "Filter by parent record number(s)",
              "title": "Record Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by parent record number(s)"
          },
          {
            "in": "query",
            "name": "record_number_gte",
            "schema": {
              "description": "Filter by parent record number >= value",
              "title": "Record Number Gte",
              "type": [
                "integer",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by parent record number >= value"
          },
          {
            "in": "query",
            "name": "record_number_lte",
            "schema": {
              "description": "Filter by parent record number <= value",
              "title": "Record Number Lte",
              "type": [
                "integer",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by parent record 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/PagedPublicVendorCreditCollectionLineOut"
                }
              }
            }
          }
        },
        "description": "Retrieve vendor credits lines across all parent records. Returns paginated JSON. Date range defaults to the last 366 days if not provided. Maximum date range is 366 days. updated_after / updated_before filter on the parent record updated_at and skip the default posting-date window. Deep offsets above 5000 emit a server warning; prefer date, number, or updated_after filters for large pulls.",
        "tags": [
          "Vendor Credits"
        ]
      }
    },
    "/public/v3-alpha/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": "code",
            "schema": {
              "title": "Code",
              "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": "number",
            "schema": {
              "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": {
              "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": "transaction_currency",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemCurrencies"
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "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": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "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": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicVendorCreditV2SchemaOut"
                }
              }
            }
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "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/v3-alpha/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": "code",
            "schema": {
              "title": "Code",
              "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": "number",
            "schema": {
              "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": {
              "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": "transaction_currency",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemCurrencies"
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "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": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicVendorCreditV2SchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "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 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."
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicVendorCreditV2SchemaOut"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "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"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "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/v3-alpha/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": "code",
            "schema": {
              "title": "Code",
              "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": "number",
            "schema": {
              "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": {
              "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": "transaction_currency",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemCurrencies"
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "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": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "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/v3-alpha/vendor-refunds/": {
      "get": {
        "operationId": "list_VendorRefundV2_records",
        "summary": "List VendorRefundV2 records",
        "parameters": [
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "code",
            "schema": {
              "title": "Code",
              "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": "number",
            "schema": {
              "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": "vendor_credit_id",
            "schema": {
              "title": "Vendor Credit 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": "transaction_currency",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemCurrencies"
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "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/PagedPublicVendorRefundV2ListSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a paginated list of VendorRefundV2 records with filtering and ordering options.",
        "tags": [
          "Vendor Refunds"
        ]
      },
      "post": {
        "operationId": "create_VendorRefundV2_record",
        "summary": "Create VendorRefundV2 record",
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicVendorRefundV2SchemaOut"
                }
              }
            }
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Create a new VendorRefundV2 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/v3-alpha/vendor-refunds/{record_number}/": {
      "get": {
        "operationId": "get_VendorRefundV2_record",
        "summary": "Get VendorRefundV2 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": "code",
            "schema": {
              "title": "Code",
              "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": "number",
            "schema": {
              "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": "vendor_credit_id",
            "schema": {
              "title": "Vendor Credit 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": "transaction_currency",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemCurrencies"
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicVendorRefundV2SchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "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 specific VendorRefundV2 record by its record number with all related data.",
        "tags": [
          "Vendor Refunds"
        ]
      },
      "put": {
        "operationId": "update_VendorRefundV2_record",
        "summary": "Update VendorRefundV2 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."
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicVendorRefundV2SchemaOut"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "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"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Update an existing VendorRefundV2 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/v3-alpha/vendor-refunds/{record_number}/attachments/": {
      "post": {
        "operationId": "create_VendorRefundV2_record_attachments",
        "summary": "Create VendorRefundV2 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."
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicVendorRefundV2SchemaOut"
                }
              }
            }
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Upload attachments to a VendorRefundV2 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/v3-alpha/vendor-refunds/{record_number}/lines/": {
      "get": {
        "operationId": "list_VendorRefundV2_record_lines",
        "summary": "List VendorRefundV2 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": "code",
            "schema": {
              "title": "Code",
              "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": "number",
            "schema": {
              "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": "vendor_credit_id",
            "schema": {
              "title": "Vendor Credit 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": "transaction_currency",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemCurrencies"
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "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/PagedPublicVendorRefundItemOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a paginated list of lines for a specific VendorRefundV2 record, ordered by position.",
        "tags": [
          "Vendor Refunds"
        ]
      }
    },
    "/public/v3-alpha/direct-expenses/lines/": {
      "get": {
        "operationId": "list_direct_expense_lines_collection",
        "summary": "List direct expenses 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": "updated_after",
            "schema": {
              "description": "Filter by parent updated_at >= value. Skips the default posting-date window when set.",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by parent updated_at >= value. Skips the default posting-date window when set."
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "description": "Filter by parent updated_at <= value. Skips the default posting-date window when set.",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by parent updated_at <= value. Skips the default posting-date window when set."
          },
          {
            "in": "query",
            "name": "record_number",
            "schema": {
              "description": "Filter by parent record number(s)",
              "title": "Record Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by parent record number(s)"
          },
          {
            "in": "query",
            "name": "record_number_gte",
            "schema": {
              "description": "Filter by parent record number >= value",
              "title": "Record Number Gte",
              "type": [
                "integer",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by parent record number >= value"
          },
          {
            "in": "query",
            "name": "record_number_lte",
            "schema": {
              "description": "Filter by parent record number <= value",
              "title": "Record Number Lte",
              "type": [
                "integer",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by parent record 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/PagedPublicDirectExpenseCollectionLineOut"
                }
              }
            }
          }
        },
        "description": "Retrieve direct expenses lines across all parent records. Returns paginated JSON. Date range defaults to the last 366 days if not provided. Maximum date range is 366 days. updated_after / updated_before filter on the parent record updated_at and skip the default posting-date window. Deep offsets above 5000 emit a server warning; prefer date, number, or updated_after filters for large pulls.",
        "tags": [
          "Direct Expenses"
        ]
      }
    },
    "/public/v3-alpha/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": "code",
            "schema": {
              "title": "Code",
              "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": "number",
            "schema": {
              "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": {
              "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": "transaction_currency",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemCurrencies"
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "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": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDirectExpenseV2SchemaOut"
                }
              }
            }
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "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/v3-alpha/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": "code",
            "schema": {
              "title": "Code",
              "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": "number",
            "schema": {
              "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": {
              "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": "transaction_currency",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemCurrencies"
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDirectExpenseV2SchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "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 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."
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDirectExpenseV2SchemaOut"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "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"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "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/v3-alpha/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."
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDirectExpenseV2SchemaOut"
                }
              }
            }
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "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/v3-alpha/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": "code",
            "schema": {
              "title": "Code",
              "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": "number",
            "schema": {
              "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": {
              "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": "transaction_currency",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemCurrencies"
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "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/v3-alpha/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": "code",
            "schema": {
              "title": "Code",
              "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": "number",
            "schema": {
              "title": "Number",
              "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": "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": {
              "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": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "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": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicBankTransferSchemaOut"
                }
              }
            }
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "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/v3-alpha/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": "code",
            "schema": {
              "title": "Code",
              "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": "number",
            "schema": {
              "title": "Number",
              "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": "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": {
              "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": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicBankTransferSchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "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 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."
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicBankTransferSchemaOut"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "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"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "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/v3-alpha/statistical-journals/lines/": {
      "get": {
        "operationId": "list_statistical_journal_lines_collection",
        "summary": "List statistical journal 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": "updated_after",
            "schema": {
              "description": "Filter by parent updated_at >= value. Skips the default posting-date window when set.",
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by parent updated_at >= value. Skips the default posting-date window when set."
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "description": "Filter by parent updated_at <= value. Skips the default posting-date window when set.",
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by parent updated_at <= value. Skips the default posting-date window when set."
          },
          {
            "in": "query",
            "name": "record_number",
            "schema": {
              "description": "Filter by parent record number(s)",
              "title": "Record Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by parent record number(s)"
          },
          {
            "in": "query",
            "name": "record_number_gte",
            "schema": {
              "description": "Filter by parent record number >= value",
              "title": "Record Number Gte",
              "type": [
                "integer",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by parent record number >= value"
          },
          {
            "in": "query",
            "name": "record_number_lte",
            "schema": {
              "description": "Filter by parent record number <= value",
              "title": "Record Number Lte",
              "type": [
                "integer",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by parent record 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/PagedPublicStatisticalJournalCollectionLineOut"
                }
              }
            }
          }
        },
        "description": "Retrieve statistical journals lines across all parent records. Returns paginated JSON. Date range defaults to the last 366 days if not provided. Maximum date range is 366 days. updated_after / updated_before filter on the parent record updated_at and skip the default posting-date window. Deep offsets above 5000 emit a server warning; prefer date, number, or updated_after filters for large pulls.",
        "tags": [
          "Statistical Journals"
        ]
      }
    },
    "/public/v3-alpha/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": {
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "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": "account_id",
            "schema": {
              "title": "Account Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "account_number",
            "schema": {
              "title": "Account Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "line_account_id",
            "schema": {
              "title": "Line Account Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "line_account_number",
            "schema": {
              "title": "Line Account Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "period_start",
            "schema": {
              "title": "Period Start",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "period_end",
            "schema": {
              "title": "Period End",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "date_start",
            "schema": {
              "title": "Date Start",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "date_end",
            "schema": {
              "title": "Date End",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "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": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicStatisticalJournalV2SchemaOut"
                }
              }
            }
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "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/v3-alpha/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": {
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "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": "account_id",
            "schema": {
              "title": "Account Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "account_number",
            "schema": {
              "title": "Account Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "line_account_id",
            "schema": {
              "title": "Line Account Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "line_account_number",
            "schema": {
              "title": "Line Account Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "period_start",
            "schema": {
              "title": "Period Start",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "period_end",
            "schema": {
              "title": "Period End",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "date_start",
            "schema": {
              "title": "Date Start",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "date_end",
            "schema": {
              "title": "Date End",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicStatisticalJournalV2SchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "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 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."
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicStatisticalJournalV2SchemaOut"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "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"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "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/v3-alpha/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."
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicStatisticalJournalV2SchemaOut"
                }
              }
            }
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "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/v3-alpha/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": {
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "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": "account_id",
            "schema": {
              "title": "Account Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "account_number",
            "schema": {
              "title": "Account Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "line_account_id",
            "schema": {
              "title": "Line Account Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "line_account_number",
            "schema": {
              "title": "Line Account Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "period_start",
            "schema": {
              "title": "Period Start",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "period_end",
            "schema": {
              "title": "Period End",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "date_start",
            "schema": {
              "title": "Date Start",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "date_end",
            "schema": {
              "title": "Date End",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "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/v3-alpha/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": {
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "recurring_type",
            "schema": {
              "title": "Recurring Type",
              "items": {
                "$ref": "#/components/schemas/RecurringType"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "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": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicRecurringInvoiceSchemaOut"
                }
              }
            }
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "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/v3-alpha/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": {
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "recurring_type",
            "schema": {
              "title": "Recurring Type",
              "items": {
                "$ref": "#/components/schemas/RecurringType"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicRecurringInvoiceSchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "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 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."
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicRecurringInvoiceSchemaOut"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "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"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "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."
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuccessSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Delete a RecurringInvoice record.",
        "tags": [
          "Recurring Invoices"
        ]
      }
    },
    "/public/v3-alpha/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": {
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "recurring_type",
            "schema": {
              "title": "Recurring Type",
              "items": {
                "$ref": "#/components/schemas/RecurringType"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "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": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicRecurringBillSchemaOut"
                }
              }
            }
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "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/v3-alpha/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": {
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "recurring_type",
            "schema": {
              "title": "Recurring Type",
              "items": {
                "$ref": "#/components/schemas/RecurringType"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicRecurringBillSchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "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 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."
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicRecurringBillSchemaOut"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "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"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "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."
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuccessSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Delete a RecurringBill record.",
        "tags": [
          "Recurring Bills"
        ]
      }
    },
    "/public/v3-alpha/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": {
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "recurring_type",
            "schema": {
              "title": "Recurring Type",
              "items": {
                "$ref": "#/components/schemas/RecurringType"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "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": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicRecurringJournalEntrySchemaOut"
                }
              }
            }
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "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/v3-alpha/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": {
              "title": "Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "recurring_type",
            "schema": {
              "title": "Recurring Type",
              "items": {
                "$ref": "#/components/schemas/RecurringType"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicRecurringJournalEntrySchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "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 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."
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicRecurringJournalEntrySchemaOut"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "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"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "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."
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuccessSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Delete a RecurringJournalEntry record.",
        "tags": [
          "Recurring Journal Entries"
        ]
      }
    },
    "/public/v3-alpha/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": "updated_after",
            "schema": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "code",
            "schema": {
              "title": "Code",
              "items": {
                "type": "string"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "id",
            "schema": {
              "title": "Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "name",
            "schema": {
              "title": "Name",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "parent_company_id",
            "schema": {
              "title": "Parent Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "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": "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/v3-alpha/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"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "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 specific company by ID with all related data including company access.",
        "tags": [
          "Companies"
        ]
      }
    },
    "/public/v3-alpha/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": {
              "title": "Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "excluded_id",
            "schema": {
              "description": "Account IDs to exclude from the response. Combines with id (include set minus excluded set).",
              "title": "Excluded Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false,
            "description": "Account IDs to exclude from the response. Combines with id (include set minus excluded set)."
          },
          {
            "in": "query",
            "name": "name",
            "schema": {
              "title": "Name",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "description",
            "schema": {
              "title": "Description",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "title": "Number",
              "type": [
                "integer",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "account_types",
            "schema": {
              "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": {
              "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": {
              "title": "Category 1099",
              "items": {
                "type": "string"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "ebitda_category",
            "schema": {
              "title": "Ebitda Category",
              "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": {
              "title": "Numbers",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "names",
            "schema": {
              "title": "Names",
              "items": {
                "type": "string"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "system_ref",
            "schema": {
              "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": {
              "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": "updated_after",
            "schema": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "title": "Updated Before",
              "format": "date-time",
              "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": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicAccountSchemaOut"
                }
              }
            }
          },
          "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"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "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/v3-alpha/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"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "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 specific account by number with all related data including company access.",
        "tags": [
          "Accounts"
        ]
      }
    },
    "/public/v3-alpha/account_balances/": {
      "get": {
        "operationId": "core_api_public_account_balances_list_account_balances",
        "summary": "List account balances",
        "parameters": [
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "description": "Company to report on. Balances are in this company's base currency.",
              "title": "Company Id",
              "type": "integer"
            },
            "required": true,
            "description": "Company to report on. Balances are in this company's base currency."
          },
          {
            "in": "query",
            "name": "as_of_date",
            "schema": {
              "description": "Report date. Balance-sheet accounts report through this date; income-statement accounts report from the fiscal year start.",
              "format": "date",
              "title": "As Of Date",
              "type": "string"
            },
            "required": true,
            "description": "Report date. Balance-sheet accounts report through this date; income-statement accounts report from the fiscal year start."
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 200,
              "description": "Number of records to return per page (capped at 200)",
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            },
            "required": false,
            "description": "Number of records to return per page (capped at 200)"
          },
          {
            "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/PagedPublicAccountBalanceSchemaOut"
                }
              }
            }
          },
          "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"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve account balances for one company as of a date, equivalent to a Trial Balance report. Balance-sheet accounts report the balance through the date. Income-statement accounts report the balance from the start of the fiscal year that contains the date. Retained Earnings carries the closed fiscal years' net income on top of anything posted to it directly. Balances are in the company's base currency. Accounts with no activity are included with a zero balance, and inactive accounts are included.\n\nRows are paged by `limit` and `offset` and ordered by account number. There is no total in the response: `count` is the number of accounts.",
        "tags": [
          "Account Balances"
        ]
      }
    },
    "/public/v3-alpha/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": "code",
            "schema": {
              "title": "Code",
              "items": {
                "type": "string"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "budget_type",
            "schema": {
              "title": "Budget Type",
              "items": {
                "$ref": "#/components/schemas/BudgetTypes"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "calendar_year",
            "schema": {
              "title": "Calendar Year",
              "items": {
                "type": "integer"
              },
              "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": "record_status",
            "schema": {
              "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/v3-alpha/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"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "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 specific budget by ID with all related data.",
        "tags": [
          "Budgets"
        ]
      }
    },
    "/public/v3-alpha/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": {
              "title": "Id",
              "items": {
                "type": "integer"
              },
              "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": "number",
            "schema": {
              "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": "status",
            "schema": {
              "title": "Status",
              "items": {
                "$ref": "#/components/schemas/ContractStatusFilter"
              },
              "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": "contract_start_date",
            "schema": {
              "title": "Contract Start Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "contract_end_date",
            "schema": {
              "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": {
              "title": "Recognition Mode",
              "items": {
                "$ref": "#/components/schemas/RecognitionMode"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "recognition_strategy",
            "schema": {
              "title": "Recognition Strategy",
              "items": {
                "$ref": "#/components/schemas/RecognitionStrategy"
              },
              "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": "updated_after",
            "schema": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "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": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "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/v3-alpha/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"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "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 single revenue recognition contract by record ID, including its performance obligations.",
        "tags": [
          "Contracts"
        ]
      },
      "put": {
        "operationId": "core_api_public_v2_contracts_update_contract",
        "summary": "Update Contract",
        "parameters": [
          {
            "in": "path",
            "name": "record_id",
            "schema": {
              "title": "Record Id",
              "type": "integer"
            },
            "required": true
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContractSchemaOut"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "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": "Update an existing revenue recognition contract. Direct edits are rejected when usage or an active contract has milestones. Obligation rows superseded by a posted change order, or targeted by a draft change order, cannot be edited.",
        "tags": [
          "Contracts"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ContractSchemaUpdateIn"
              }
            }
          },
          "required": true
        }
      },
      "patch": {
        "operationId": "core_api_public_v2_contracts_patch_contract",
        "summary": "Update Contract (partial)",
        "parameters": [
          {
            "in": "path",
            "name": "record_id",
            "schema": {
              "title": "Record Id",
              "type": "integer"
            },
            "required": true
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContractSchemaOut"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "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": "Update specific fields on a revenue recognition contract. Send only the fields you want to change \u2014 anything you don't send stays as it is. Direct edits are rejected when usage or an active contract has milestones. Obligation rows superseded by a posted change order, or targeted by a draft change order, cannot be edited.",
        "tags": [
          "Contracts"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicContractSchemaPatchIn"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v3-alpha/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
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "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/v3-alpha/contracts/{contract_id}/change-orders/": {
      "get": {
        "operationId": "core_api_public_v2_contracts_list_contract_change_orders",
        "summary": "List Change Orders",
        "parameters": [
          {
            "in": "path",
            "name": "contract_id",
            "schema": {
              "title": "Contract Id",
              "type": "integer"
            },
            "required": true
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "title": "Search",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "code",
            "schema": {
              "title": "Code",
              "items": {
                "type": "string"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "id",
            "schema": {
              "title": "Id",
              "items": {
                "type": "integer"
              },
              "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": "contract_id",
            "schema": {
              "title": "Contract Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "number",
            "schema": {
              "title": "Number",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "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": "updated_after",
            "schema": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "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/PagedContractChangeOrderListSchemaOut"
                }
              }
            }
          },
          "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 paginated list of change orders for a contract.",
        "tags": [
          "Contracts"
        ]
      },
      "post": {
        "operationId": "core_api_public_v2_contracts_create_contract_change_order",
        "summary": "Create Change Order",
        "parameters": [
          {
            "in": "path",
            "name": "contract_id",
            "schema": {
              "title": "Contract Id",
              "type": "integer"
            },
            "required": true
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContractChangeOrderSchemaOut"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "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": "Create a change order on a contract. effective_date is required. An addition requires item_id, quantity, and rate. A payload with no modifications or additions is saved as a draft. Complete payloads are validated and applied.",
        "tags": [
          "Contracts"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicContractChangeOrderSchemaCreateIn"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v3-alpha/contracts/{contract_id}/change-orders/{change_order_id}/": {
      "get": {
        "operationId": "core_api_public_v2_contracts_get_contract_change_order",
        "summary": "Get Change Order",
        "parameters": [
          {
            "in": "path",
            "name": "contract_id",
            "schema": {
              "title": "Contract Id",
              "type": "integer"
            },
            "required": true
          },
          {
            "in": "path",
            "name": "change_order_id",
            "schema": {
              "title": "Change Order Id",
              "type": "integer"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContractChangeOrderSchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "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 single change order by ID for a given contract, including the obligation change summary.",
        "tags": [
          "Contracts"
        ]
      },
      "put": {
        "operationId": "core_api_public_v2_contracts_update_contract_change_order",
        "summary": "Update Change Order",
        "parameters": [
          {
            "in": "path",
            "name": "contract_id",
            "schema": {
              "title": "Contract Id",
              "type": "integer"
            },
            "required": true
          },
          {
            "in": "path",
            "name": "change_order_id",
            "schema": {
              "title": "Change Order Id",
              "type": "integer"
            },
            "required": true
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContractChangeOrderSchemaOut"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "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": "Update an existing change order. effective_date is required. An addition requires item_id, quantity, and rate. A payload with no modifications or additions stays a draft. Completing required fields applies the change order.",
        "tags": [
          "Contracts"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicContractChangeOrderSchemaUpdateIn"
              }
            }
          },
          "required": true
        }
      },
      "delete": {
        "operationId": "core_api_public_v2_contracts_delete_contract_change_order",
        "summary": "Archive Change Order",
        "parameters": [
          {
            "in": "path",
            "name": "contract_id",
            "schema": {
              "title": "Contract Id",
              "type": "integer"
            },
            "required": true
          },
          {
            "in": "path",
            "name": "change_order_id",
            "schema": {
              "title": "Change Order Id",
              "type": "integer"
            },
            "required": true
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuccessSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "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": "Archive an existing change order (soft delete).",
        "tags": [
          "Contracts"
        ]
      }
    },
    "/public/v3-alpha/contracts/{contract_id}/usage/": {
      "get": {
        "operationId": "core_api_public_v3_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
          },
          {
            "in": "query",
            "name": "ordering",
            "schema": {
              "default": "-usage_date,-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/PagedObligationUsageListSchemaOut"
                }
              }
            }
          }
        },
        "description": "Retrieve a paginated list of usage records for a contract.",
        "tags": [
          "Contracts"
        ]
      }
    },
    "/public/v3-alpha/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": "updated_after",
            "schema": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "code",
            "schema": {
              "title": "Code",
              "items": {
                "type": "string"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "id",
            "schema": {
              "title": "Id",
              "items": {
                "type": "integer"
              },
              "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": "customer_type",
            "schema": {
              "title": "Customer Type",
              "items": {
                "type": "string"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "name",
            "schema": {
              "title": "Name",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "name_exact",
            "schema": {
              "title": "Name Exact",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "unique_id",
            "schema": {
              "title": "Unique Id",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "email",
            "schema": {
              "title": "Email",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "website",
            "schema": {
              "title": "Website",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "address",
            "schema": {
              "title": "Address",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "country",
            "schema": {
              "title": "Country",
              "items": {
                "$ref": "#/components/schemas/SystemCountries"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "state",
            "schema": {
              "title": "State",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "phone",
            "schema": {
              "title": "Phone",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "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": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerSchemaOut"
                }
              }
            }
          },
          "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"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Create a new customer record with address information.\n\nSet `is_taxable` to `false` to create a tax-exempt customer (for example resellers, government agencies, or qualifying non-profits). Omit the field to use the default (`false`).",
        "tags": [
          "Customers"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomerSchemaCreateIn"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v3-alpha/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"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "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 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
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerSchemaOut"
                }
              }
            }
          },
          "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"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Update a customer. Send only the fields you want to change \u2014 anything you don't send stays as it is.\n\nSet `is_taxable` to `false` to mark the customer as tax-exempt, or `true` to make them taxable. Omit the field to leave the current value unchanged.\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 \u2014 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 \u2014 use the id-based shape for those.",
        "tags": [
          "Customers"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomerSchemaUpdateIn"
              }
            }
          },
          "required": true
        }
      },
      "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
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerSchemaOut"
                }
              }
            }
          },
          "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"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Update specific fields on a customer. Send only the fields you want to change \u2014 anything you don't send stays as it is. To clear a nullable field, send `null`.\n\nSet `is_taxable` to `false` to mark the customer as tax-exempt, or `true` to make them taxable. Omit the field to leave the current value unchanged.\n\nExample \u2014 rename a customer:\n\n```json\n{\"name\": \"Acme Holdings, Inc.\"}\n```\n\nExample \u2014 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 \u2014 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
        }
      },
      "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
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuccessSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "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": "Delete a customer by ID. Fails if the customer is referenced by other records.",
        "tags": [
          "Customers"
        ]
      }
    },
    "/public/v3-alpha/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": "updated_after",
            "schema": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "code",
            "schema": {
              "title": "Code",
              "items": {
                "type": "string"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "id",
            "schema": {
              "title": "Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "name",
            "schema": {
              "title": "Name",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "item_type",
            "schema": {
              "title": "Item Type",
              "items": {
                "$ref": "#/components/schemas/ItemTypes"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "no_income_account",
            "schema": {
              "title": "No Income Account",
              "type": [
                "boolean",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "no_expense_account",
            "schema": {
              "title": "No Expense Account",
              "type": [
                "boolean",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "no_deferral_account",
            "schema": {
              "title": "No Deferral Account",
              "type": [
                "boolean",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "no_asset_account",
            "schema": {
              "title": "No Asset Account",
              "type": [
                "boolean",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "no_discount_account",
            "schema": {
              "title": "No Discount Account",
              "type": [
                "boolean",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "expense_account_id",
            "schema": {
              "title": "Expense Account Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "income_account_id",
            "schema": {
              "title": "Income Account Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "deferral_account_id",
            "schema": {
              "title": "Deferral Account Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "asset_account_id",
            "schema": {
              "title": "Asset Account Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "product_tax_code_id",
            "schema": {
              "title": "Product Tax Code Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "discount_account_id",
            "schema": {
              "title": "Discount Account Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "is_active",
            "schema": {
              "title": "Is Active",
              "type": [
                "boolean",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "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": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicItemSchemaOut"
                }
              }
            }
          },
          "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"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "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/v3-alpha/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"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "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 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
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicItemSchemaOut"
                }
              }
            }
          },
          "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"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "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
        }
      },
      "patch": {
        "operationId": "core_api_public_items_patch_item",
        "summary": "Update Item (partial)",
        "parameters": [
          {
            "in": "path",
            "name": "item_id",
            "schema": {
              "title": "Item Id",
              "type": "integer"
            },
            "required": true
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicItemSchemaOut"
                }
              }
            }
          },
          "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"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Update specific fields on an item. Send only the fields you want to change \u2014 anything you don't send stays as it is. To clear a nullable field, send `null`.",
        "tags": [
          "Items"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicItemSchemaPatchIn"
              }
            }
          },
          "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
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuccessSchema"
                }
              }
            }
          },
          "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"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "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/v3-alpha/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": "code",
            "schema": {
              "title": "Code",
              "items": {
                "type": "string"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "id",
            "schema": {
              "title": "Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "vendor_type",
            "schema": {
              "title": "Vendor Type",
              "items": {
                "type": "string"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "name",
            "schema": {
              "title": "Name",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "unique_id",
            "schema": {
              "title": "Unique Id",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "email",
            "schema": {
              "title": "Email",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "website",
            "schema": {
              "title": "Website",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "single_address",
            "schema": {
              "title": "Single Address",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "country",
            "schema": {
              "title": "Country",
              "items": {
                "$ref": "#/components/schemas/SystemCountries"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "state",
            "schema": {
              "title": "State",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "phone",
            "schema": {
              "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": {
              "title": "Tin",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "record_status",
            "schema": {
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "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": "exclude_company_id",
            "schema": {
              "title": "Exclude Company Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "names",
            "schema": {
              "title": "Names",
              "items": {
                "type": "string"
              },
              "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": "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": "company_id_access",
            "schema": {
              "title": "Company Id Access",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "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": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicVendorSchemaOut"
                }
              }
            }
          },
          "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"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "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/v3-alpha/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"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "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 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
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicVendorSchemaOut"
                }
              }
            }
          },
          "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"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Update a vendor. Send only the fields you want to change \u2014 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 \u2014 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 \u2014 use the id-based shape for those.",
        "tags": [
          "Vendors"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicVendorSchemaUpdateIn"
              }
            }
          },
          "required": true
        }
      },
      "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
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicVendorSchemaOut"
                }
              }
            }
          },
          "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"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Update specific fields on a vendor. Send only the fields you want to change \u2014 anything you don't send stays as it is. To clear a nullable field, send `null`.\n\nExample \u2014 rename a vendor and update its TIN:\n\n```json\n{\"name\": \"Acme Supply Co.\", \"tin\": \"12-3456789\", \"tin_type\": \"ein\"}\n```\n\nExample \u2014 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 \u2014 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
        }
      },
      "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
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuccessSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "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": "Delete a vendor by ID. Fails if the vendor is referenced by other records.",
        "tags": [
          "Vendors"
        ]
      }
    },
    "/public/v3-alpha/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": "updated_after",
            "schema": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "code",
            "schema": {
              "title": "Code",
              "items": {
                "type": "string"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "id",
            "schema": {
              "title": "Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "name",
            "schema": {
              "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": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "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/v3-alpha/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
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "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
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "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 \u2014 anything you don't send stays as it is. Use `null` on `parent_id` to remove a parent.\n\nExample \u2014 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
        }
      },
      "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
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "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/v3-alpha/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": {
              "title": "Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "name",
            "schema": {
              "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": {
              "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/v3-alpha/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": "updated_after",
            "schema": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "id",
            "schema": {
              "title": "Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "field_type",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/FieldType"
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "is_active",
            "schema": {
              "title": "Is Active",
              "type": [
                "boolean",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "name",
            "schema": {
              "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": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCustomFieldSchemaOut"
                }
              }
            }
          },
          "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"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "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
        }
      }
    },
    "/public/v3-alpha/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"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "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
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCustomFieldSchemaOut"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "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"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Update an existing custom field definition. `applies_to` and `company_ids` are replaced wholesale \u2014 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
        }
      },
      "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
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuccessSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "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"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "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 \u2014 clear those values first, or archive the field via `is_active=false` instead.",
        "tags": [
          "Custom Fields"
        ]
      }
    },
    "/public/v3-alpha/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": "code",
            "schema": {
              "title": "Code",
              "items": {
                "type": "string"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "id",
            "schema": {
              "description": "Filter by paper check IDs",
              "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'",
              "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",
              "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'",
              "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)",
              "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)",
              "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"
        ]
      }
    },
    "/public/v3-alpha/paper-checks/print-now/": {
      "post": {
        "operationId": "core_api_public_paper_checks_print_now",
        "summary": "Print check immediately",
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicPaperCheckWithPDFContentSchemaOut"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "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
        }
      }
    },
    "/public/v3-alpha/paper-checks/print-later/": {
      "post": {
        "operationId": "core_api_public_paper_checks_print_later",
        "summary": "Queue checks for later printing",
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/PublicPaperCheckSchemaOut"
                  },
                  "title": "Response",
                  "type": "array"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "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
        }
      }
    },
    "/public/v3-alpha/paper-checks/print-batch/": {
      "put": {
        "operationId": "core_api_public_paper_checks_print_batch",
        "summary": "Batch print paper checks",
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicPaperCheckBatchPrintResponse"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "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
        }
      }
    },
    "/public/v3-alpha/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"
        ]
      },
      "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
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "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"
        ]
      }
    },
    "/public/v3-alpha/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": {
              "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/v3-alpha/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": {
              "title": "Workflow Id",
              "items": {
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "status",
            "schema": {
              "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": {
              "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/v3-alpha/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"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "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 single workflow execution state by its ID.",
        "tags": [
          "Approval Policies"
        ]
      }
    },
    "/public/v3-alpha/workflows/actions/": {
      "get": {
        "operationId": "core_api_public_workflows_list_approval_actions",
        "summary": "List approval actions",
        "parameters": [
          {
            "in": "query",
            "name": "workflow_execution_state_id",
            "schema": {
              "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": {
              "title": "Action Type",
              "items": {
                "type": "string"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "approver_id",
            "schema": {
              "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/v3-alpha/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/v3-alpha/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"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "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 single approval workflow by its ID, including all steps, conditions, and approvers.",
        "tags": [
          "Approval Policies"
        ]
      }
    },
    "/public/v3-alpha/workflows/execution-states/{state_id}/actions/": {
      "get": {
        "operationId": "core_api_public_v3_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
          },
          {
            "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"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "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) for a specific workflow execution state.",
        "tags": [
          "Approval Policies"
        ]
      }
    },
    "/public/v3-alpha/workflows/{workflow_id}/versions/": {
      "get": {
        "operationId": "core_api_public_v3_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
          },
          {
            "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/PagedPublicWorkflowVersionListSchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "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 version history for a workflow including changes, timestamps, and optionally full snapshots.",
        "tags": [
          "Approval Policies"
        ]
      }
    },
    "/public/v3-alpha/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/v3-alpha/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": {
              "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/v3-alpha/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": {
              "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/v3-alpha/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/v3-alpha/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/v3-alpha/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": "updated_after",
            "schema": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "title": "Updated Before",
              "format": "date-time",
              "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": {
              "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": {
              "title": "Record Status",
              "items": {
                "$ref": "#/components/schemas/RecordStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "purchase_date_gte",
            "schema": {
              "title": "Purchase Date Gte",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "purchase_date_lte",
            "schema": {
              "title": "Purchase Date Lte",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "vendor_id",
            "schema": {
              "title": "Vendor Id",
              "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": "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": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "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/v3-alpha/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"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "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 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
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "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
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "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
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "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/v3-alpha/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"
        ]
      }
    },
    "/public/v3-alpha/webhooks/": {
      "post": {
        "operationId": "core_outbound_webhooks_api_create_webhook",
        "summary": "Create webhook",
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookCreateSchemaOut"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "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": {
              "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/v3-alpha/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/v3-alpha/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"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "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
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookSchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "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
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookSchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "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
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuccessSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Delete a webhook by UUID.",
        "tags": [
          "Webhooks"
        ]
      }
    },
    "/public/v3-alpha/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"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "List delivery attempts (events) for a specific webhook.",
        "tags": [
          "Webhooks"
        ]
      }
    },
    "/public/v3-alpha/export-jobs/": {
      "post": {
        "operationId": "core_api_public_exports_request_export",
        "summary": "Request a data export",
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicExportJobRequestSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Requests a data refresh. Execution is orchestrated by DualEntry and starts when capacity allows \u2014 typically within minutes. There is no SLA on start time. Exports also run automatically on a schedule; this endpoint forces an off-cycle refresh. Poll `GET /export-jobs/{id}/` for completion.\n\nAlways returns `202 Accepted`. Calling it while an export is already running is safe: the in-flight job is returned with `deduplicated: true` and no second export is started.",
        "tags": [
          "Data Exports"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/PublicExportJobSchemaIn"
                  }
                ]
              }
            }
          },
          "required": false
        }
      },
      "get": {
        "operationId": "core_api_public_exports_list_export_jobs",
        "summary": "List export jobs",
        "parameters": [
          {
            "in": "query",
            "name": "status",
            "schema": {
              "description": "Filter by public status.",
              "title": "Status",
              "items": {
                "$ref": "#/components/schemas/PublicExportJobStatus"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false,
            "description": "Filter by public status."
          },
          {
            "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/PagedPublicExportJobSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "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 export jobs for the organization, most recent first.",
        "tags": [
          "Data Exports"
        ]
      }
    },
    "/public/v3-alpha/export-jobs/{job_id}/": {
      "get": {
        "operationId": "core_api_public_exports_get_export_job",
        "summary": "Get export job",
        "parameters": [
          {
            "in": "path",
            "name": "job_id",
            "schema": {
              "title": "Job Id",
              "type": "integer"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicExportJobSchemaOut"
                }
              }
            }
          },
          "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"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve the status of a single export job. Poll this after requesting an export.",
        "tags": [
          "Data Exports"
        ]
      }
    },
    "/public/v3-alpha/exchange_rates/": {
      "get": {
        "operationId": "core_api_public_exchange_rates_list_exchange_rates",
        "summary": "List exchange rates",
        "parameters": [
          {
            "in": "query",
            "name": "effective_date",
            "schema": {
              "description": "Single date to fetch rates for.",
              "title": "Effective Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false,
            "description": "Single date to fetch rates for."
          },
          {
            "in": "query",
            "name": "start_date",
            "schema": {
              "description": "Inclusive range start. Requires end_date.",
              "title": "Start Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false,
            "description": "Inclusive range start. Requires end_date."
          },
          {
            "in": "query",
            "name": "end_date",
            "schema": {
              "description": "Inclusive range end. Requires start_date.",
              "title": "End Date",
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false,
            "description": "Inclusive range end. Requires start_date."
          },
          {
            "in": "query",
            "name": "base_currency",
            "schema": {
              "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"
            },
            "required": true
          },
          {
            "in": "query",
            "name": "transaction_currency",
            "schema": {
              "description": "Quote currencies to include.",
              "items": {
                "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"
              },
              "title": "Transaction Currency",
              "type": "array"
            },
            "required": true,
            "description": "Quote currencies to include."
          },
          {
            "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/PagedExchangeRateSchemaOut"
                }
              }
            }
          },
          "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": "Retrieve DualEntry exchange rates for a base currency and one or more quote currencies.",
        "tags": [
          "Exchange Rates"
        ]
      }
    },
    "/public/v3-alpha/depreciation-books/": {
      "get": {
        "operationId": "core_api_public_v2_depreciation_books_list_depreciation_books",
        "summary": "List depreciation books",
        "parameters": [
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "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/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"
        ]
      }
    },
    "/public/v3-alpha/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"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "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 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"
        ]
      }
    },
    "/public/v3-alpha/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": "updated_after",
            "schema": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "code",
            "schema": {
              "title": "Code",
              "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": "number",
            "schema": {
              "title": "Number",
              "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": "record_status",
            "schema": {
              "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"
                }
              ],
              "title": "Amount Gte"
            },
            "required": false
          },
          {
            "in": "query",
            "name": "amount_lte",
            "schema": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "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/PagedPublicIJEListSchemaOut"
                }
              }
            }
          },
          "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. Line items are not inlined; read them from `GET /{record_number}/` or `GET /{record_number}/lines/`.",
        "tags": [
          "Intercompany Journal Entries"
        ]
      },
      "post": {
        "operationId": "create_intercompany_journal_entry",
        "summary": "Create intercompany journal entry",
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "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/v3-alpha/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"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "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 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
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "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/v3-alpha/intercompany-journal-entries/{record_number}/lines/": {
      "get": {
        "operationId": "list_intercompany_journal_entry_lines",
        "summary": "List intercompany journal entry 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": "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/PagedPublicIJEItemOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve a paginated list of lines for a specific intercompany journal entry, ordered by position.",
        "tags": [
          "Intercompany Journal Entries"
        ]
      }
    },
    "/public/v3-alpha/vat-rates/": {
      "get": {
        "operationId": "core_api_public_v2_vat_rates_list_vat_rates",
        "summary": "List VAT rates",
        "parameters": [
          {
            "in": "query",
            "name": "country_code",
            "schema": {
              "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"
                }
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "tax_type",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/VatTaxType"
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "is_active",
            "schema": {
              "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"
        ]
      }
    },
    "/public/v3-alpha/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/v3-alpha/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": "updated_after",
            "schema": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "country_code",
            "schema": {
              "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"
                }
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "is_active",
            "schema": {
              "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"
        ]
      }
    },
    "/public/v3-alpha/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"
        ]
      }
    },
    "/public/v3-alpha/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": "updated_after",
            "schema": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "code",
            "schema": {
              "title": "Code",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "description",
            "schema": {
              "title": "Description",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "source",
            "schema": {
              "title": "Source",
              "items": {
                "$ref": "#/components/schemas/Sources"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "is_active",
            "schema": {
              "title": "Is Active",
              "type": [
                "boolean",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "is_global",
            "schema": {
              "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": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "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/v3-alpha/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
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "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
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "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/v3-alpha/taxes/calculate/": {
      "post": {
        "operationId": "core_api_public_v2_taxes_calculate_tax",
        "summary": "Calculate tax",
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TaxResultV2Out"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TaxErrorOut"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TaxErrorOut"
                }
              }
            }
          }
        },
        "description": "Calculate tax for a transaction before you create it.\n\nThis is the same calculator the DualEntry UI uses. Public invoice create does not\ncalculate tax. Call this endpoint first, copy the result onto each line `tax`\nobject, then POST the invoice (or bill).\n\nRequired:\n- `company_id`\n- `customer_id` (money-in) or `vendor_id` (money-out), not both\n\nUsually also send:\n- `items` with `item_id`, `quantity`, and `unit_price`\n- `transaction_buyer_address` for US sales tax (destination / shipping address)\n- `transaction_date` and `currency_code` for US sales tax\n- `supply_date` to filter VAT/GST rates by validity\n\nThe response `type` is `SALES_TAX`, `VAT`, `GST`, or `NONE`. `NONE` is HTTP 200\nwith a reason (for example a missing buyer address). It is not an error.\n\nMap each result line onto invoice `items[].tax`:\n- `tax_code` \u2192 `tax.code`\n- `tax_rate` \u2192 `tax.rate`\n- `tax_amount` \u2192 `tax.amount`\n- `is_taxable` \u2192 `tax.is_taxable`\n- `tax_exempt_amount` \u2192 `tax.tax_exempt_amount`\n- `tax_metadata` \u2192 `tax.tax_metadata`\n- `selected_vat_rate_id` \u2192 `tax.vat_rate_id`\n- `selected_gst_tax_rate_id` \u2192 `tax.gst_tax_rate_id`\n\nFor Canada GST and VAT, the first call returns `available_rates`. Pick a rate,\nsend `selected_gst_tax_rate_id` or `selected_vat_rate_id` on the line, calculate\nagain, then create the invoice.\n\nA shipping address on the invoice payload does not trigger tax. Pass that\naddress as `transaction_buyer_address` on this calculate call.\n\nV2 API only.",
        "tags": [
          "Taxes"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TaxCalculationV2In"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v3-alpha/bank-match/populate/": {
      "post": {
        "operationId": "core_api_public_v2_bank_match_populate_bank_match_suggestions_endpoint",
        "summary": "Run the bank-match pipeline now",
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "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 \u2014 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"
        ]
      }
    },
    "/public/v3-alpha/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 \u2014\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` \u2014 see every candidate match for one bank row.\n- `suggestion_type` \u2014 narrow to `match` or `create`.\n- `is_highest_ranked=true` \u2014 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"
        ]
      }
    },
    "/public/v3-alpha/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/v3-alpha/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/` \u2014 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"
        ]
      }
    },
    "/public/v3-alpha/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": "updated_after",
            "schema": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "title": "Updated Before",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "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"
        ]
      }
    },
    "/public/v3-alpha/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/v3-alpha/bank-match/matches/": {
      "post": {
        "operationId": "core_api_public_v2_bank_match_create_bank_match_endpoint",
        "summary": "Confirm a bank-match",
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "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
        }
      }
    },
    "/public/v3-alpha/bank-match/unmatches/": {
      "post": {
        "operationId": "core_api_public_v2_bank_match_delete_bank_match_endpoint",
        "summary": "Undo a bank-match",
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "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 \u2014 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
        }
      }
    },
    "/public/v3-alpha/bank-connections/": {
      "post": {
        "operationId": "core_api_public_v2_bank_connections_register_bank_connection",
        "summary": "Register a customer API bank connection",
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicBankConnectionSchemaOut"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Register or upsert a customer-built bank connection and optional accounts under source_type=customer_api.",
        "tags": [
          "Bank Connections"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicBankConnectionRegisterSchemaIn"
              }
            }
          },
          "required": true
        }
      },
      "get": {
        "operationId": "core_api_public_v2_bank_connections_list_bank_connections",
        "summary": "List customer API bank connections",
        "parameters": [
          {
            "in": "query",
            "name": "updated_after",
            "schema": {
              "title": "Updated After",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "required": false
          },
          {
            "in": "query",
            "name": "updated_before",
            "schema": {
              "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/PagedPublicBankConnectionSchemaOut"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "List bank connections registered via the customer API for the calling organization.",
        "tags": [
          "Bank Connections"
        ]
      }
    },
    "/public/v3-alpha/bank-connections/accounts/{financial_account_id}/transactions/": {
      "post": {
        "operationId": "core_api_public_v2_bank_connections_ingest_customer_api_transactions_endpoint",
        "summary": "Push bank transactions for a customer_api account",
        "parameters": [
          {
            "in": "path",
            "name": "financial_account_id",
            "schema": {
              "title": "Financial Account Id",
              "type": "integer"
            },
            "required": true
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCustomerApiTransactionBatchOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Batch upsert bank-feed transactions for a registered `customer_api` account\nidentified by DualEntry financial account id.\n\nIdempotency key is transaction `external_trx_id` (stored as source_id) scoped to\nthe organization with `source_type=customer_api`. Each item must include\n`account_id` matching the registered customer account key. One bad item does\nnot roll back other items; the response lists per-item outcomes.\n\nRegistration must be active (not unregistered). Max batch size is 250.",
        "tags": [
          "Bank Connections"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicCustomerApiTransactionBatchIn"
              }
            }
          },
          "required": true
        }
      }
    },
    "/public/v3-alpha/bank-connections/{connection_id}/accounts/": {
      "post": {
        "operationId": "core_api_public_v2_bank_connections_register_bank_connection_accounts",
        "summary": "Register accounts under a customer API bank connection",
        "parameters": [
          {
            "in": "path",
            "name": "connection_id",
            "schema": {
              "title": "Connection Id",
              "type": "integer"
            },
            "required": true
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicBankConnectionSchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Upsert accounts for an existing customer_api connection identified by DualEntry connection id.",
        "tags": [
          "Bank Connections"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicBankConnectionAccountsRegisterSchemaIn"
              }
            }
          },
          "required": true
        }
      },
      "get": {
        "operationId": "core_api_public_v2_bank_connections_list_bank_connection_accounts",
        "summary": "List accounts for a customer API bank connection",
        "parameters": [
          {
            "in": "path",
            "name": "connection_id",
            "schema": {
              "title": "Connection Id",
              "type": "integer"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/PublicBankConnectionAccountSchemaOut"
                  },
                  "title": "Response",
                  "type": "array"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "List accounts registered under a customer_api bank connection.",
        "tags": [
          "Bank Connections"
        ]
      }
    },
    "/public/v3-alpha/bank-connections/{connection_id}/": {
      "get": {
        "operationId": "core_api_public_v2_bank_connections_get_bank_connection",
        "summary": "Get a customer API bank connection",
        "parameters": [
          {
            "in": "path",
            "name": "connection_id",
            "schema": {
              "title": "Connection Id",
              "type": "integer"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicBankConnectionSchemaOut"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Retrieve one customer_api bank connection by DualEntry id.",
        "tags": [
          "Bank Connections"
        ]
      },
      "delete": {
        "operationId": "core_api_public_v2_bank_connections_delete_bank_connection",
        "summary": "Unregister a customer API bank connection",
        "parameters": [
          {
            "in": "path",
            "name": "connection_id",
            "schema": {
              "title": "Connection Id",
              "type": "integer"
            },
            "required": true
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuccessSchema"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        },
        "description": "Unregister a customer_api bank connection. Further pushes and account registration are rejected.",
        "tags": [
          "Bank Connections"
        ]
      }
    },
    "/public/v3-alpha/oauth/authorize/": {
      "post": {
        "operationId": "core_api_public_oauth_authorize",
        "summary": "Start CLI OAuth flow",
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "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/v3-alpha/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/v3-alpha/oauth/token/": {
      "post": {
        "operationId": "core_api_public_oauth_token",
        "summary": "Exchange authorization code for API key",
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422."
          }
        ],
        "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": {
      "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"
      },
      "LineCollectionFilterSchema": {
        "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"
            ]
          },
          "updated_after": {
            "description": "Filter by parent updated_at >= value. Skips the default posting-date window when set.",
            "title": "Updated After",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_before": {
            "description": "Filter by parent updated_at <= value. Skips the default posting-date window when set.",
            "title": "Updated Before",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "record_number": {
            "description": "Filter by parent record number(s)",
            "title": "Record Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "record_number_gte": {
            "description": "Filter by parent record number >= value",
            "title": "Record Number Gte",
            "type": [
              "integer",
              "null"
            ]
          },
          "record_number_lte": {
            "description": "Filter by parent record number <= value",
            "title": "Record 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": "LineCollectionFilterSchema",
        "type": "object"
      },
      "RecordStatus": {
        "enum": [
          "draft",
          "posted",
          "archived"
        ],
        "title": "RecordStatus",
        "type": "string"
      },
      "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"
      },
      "PagedPublicInvoiceCollectionLineOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicInvoiceCollectionLineOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicInvoiceCollectionLineOut",
        "type": "object"
      },
      "PublicInvoiceCollectionLineOut": {
        "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"
          },
          "invoice_number": {
            "title": "Invoice Number",
            "type": "integer"
          },
          "invoice_date": {
            "format": "date",
            "title": "Invoice Date",
            "type": "string"
          },
          "record_status": {
            "$ref": "#/components/schemas/RecordStatus"
          },
          "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",
          "company_id",
          "invoice_number",
          "invoice_date",
          "record_status",
          "net_amount",
          "tax_amount",
          "gross_amount",
          "amount",
          "discount_amount"
        ],
        "title": "PublicInvoiceCollectionLineOut",
        "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 consumption tax breakdown stored on line items.",
        "properties": {
          "component_type": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/GstComponentType"
              },
              {
                "$ref": "#/components/schemas/TaxFamily"
              }
            ],
            "title": "Component Type"
          },
          "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"
      },
      "TaxFamily": {
        "description": "Broad classification of a tax rate within the GST module.\n\n`GST` covers the single-stage value-added-style regimes (AU, NZ, SG, IN, CA).\n`SST` covers Malaysia's Sales and Service Tax \u2014 a non-creditable single-stage\nregime that replaced Malaysia's GST in 2018. SST actually has two sub-regimes\n(Sales Tax on goods, Service Tax on services) but they share registration\nformat (ANN-YYMM-NNNNNNNN, self-identifying by prefix), calculation rules, and\nadministration \u2014 so we don't split them at the family level. The rate's\n``name`` (\"Sales Tax 10%\", \"Service Tax 8%\") carries that human distinction.",
        "enum": [
          "GST",
          "SST"
        ],
        "title": "TaxFamily",
        "type": "string"
      },
      "DynamicInput": {
        "properties": {
          "ordering": {
            "default": "id",
            "title": "Ordering",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "title": "DynamicInput",
        "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",
          "monday",
          "airwallex",
          "pleo",
          "tipalti",
          "addepar",
          "moss",
          "quickbooks",
          "xero",
          "netsuite_suiteanalytics",
          "sage_intacct",
          "netsuite_rutter",
          "sage_50_rutter",
          "sage_50",
          "qbd",
          "adp_totalsource",
          "adp_workforce_now",
          "justworks",
          "paychex_flex",
          "paycom",
          "gusto",
          "ukg_ready",
          "manual"
        ],
        "type": "string"
      },
      "PublicInvoiceV2ListFilterSchema": {
        "properties": {
          "integration_sources": {
            "title": "Integration Sources",
            "items": {
              "$ref": "#/components/schemas/IntegrationSourceSlug"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "search": {
            "title": "Search",
            "type": [
              "string",
              "null"
            ]
          },
          "code": {
            "title": "Code",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "number": {
            "title": "Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "customer_id": {
            "title": "Customer 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"
            ]
          },
          "due_date": {
            "title": "Due Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "due_date_until": {
            "title": "Due Date Until",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "transaction_currency": {
            "title": "Transaction Currency",
            "items": {
              "$ref": "#/components/schemas/SystemCurrencies"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "record_status": {
            "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"
              }
            ],
            "title": "Amount Gte"
          },
          "amount_lte": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Amount Lte"
          },
          "amount_due_gte": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Amount Due Gte"
          },
          "amount_due_lte": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "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": {
            "title": "Updated After",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_before": {
            "title": "Updated Before",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "title": "PublicInvoiceV2ListFilterSchema",
        "type": "object"
      },
      "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` \u2014 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"
          },
          "code": {
            "title": "Code",
            "type": [
              "string",
              "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"
            ]
          },
          "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"
      },
      "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": {
            "description": "Optional company for this line. When set to a different company than the record header company_id, DualEntry treats the line as a cross-company (intercompany) allocation and posts IC Due To/From and elimination entries. Omit or set equal to the header company_id for a normal single-company line.",
            "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"
          },
          "code": {
            "title": "Code",
            "type": [
              "string",
              "null"
            ]
          },
          "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"
      },
      "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"
      },
      "AvalaraTaxMetadata": {
        "additionalProperties": false,
        "properties": {
          "invoiceMessages": {
            "items": {
              "$ref": "#/components/schemas/TaxInvoiceMessage"
            },
            "title": "Invoicemessages",
            "type": "array"
          }
        },
        "required": [
          "invoiceMessages"
        ],
        "title": "AvalaraTaxMetadata",
        "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": {
            "description": "Optional company for this line. When set to a different company than the record header company_id, DualEntry treats the line as a cross-company (intercompany) allocation and posts IC Due To/From and elimination entries. Omit or set equal to the header company_id for a normal single-company line.",
            "title": "Company Id",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "item_id",
          "quantity",
          "rate",
          "position",
          "memo"
        ],
        "title": "PublicInvoiceItemIn",
        "type": "object"
      },
      "PublicInvoiceSchemaCreateIn": {
        "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"
              }
            ]
          },
          "tax_metadata": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RecordTaxMetadata"
              },
              {
                "type": "null"
              }
            ]
          },
          "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"
            ]
          },
          "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"
              }
            ],
            "description": "If omitted or null, calculated from the company base currency, invoice currency, and date.",
            "title": "Exchange Rate"
          },
          "items": {
            "title": "Items",
            "items": {
              "$ref": "#/components/schemas/PublicInvoiceItemIn"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "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"
      },
      "RecordTaxMetadata": {
        "additionalProperties": false,
        "properties": {
          "avalara": {
            "$ref": "#/components/schemas/AvalaraTaxMetadata"
          }
        },
        "required": [
          "avalara"
        ],
        "title": "RecordTaxMetadata",
        "type": "object"
      },
      "TaxInvoiceMessage": {
        "additionalProperties": false,
        "properties": {
          "content": {
            "title": "Content",
            "type": "string"
          },
          "lineNumbers": {
            "items": {
              "type": "string"
            },
            "title": "Linenumbers",
            "type": "array"
          }
        },
        "required": [
          "content"
        ],
        "title": "TaxInvoiceMessage",
        "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"
      },
      "PublicInvoiceSchemaUpdateIn": {
        "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"
              }
            ]
          },
          "tax_metadata": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RecordTaxMetadata"
              },
              {
                "type": "null"
              }
            ]
          },
          "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"
            ]
          },
          "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"
              }
            ],
            "description": "If omitted or null, calculated from the company base currency, invoice currency, and date.",
            "title": "Exchange Rate"
          },
          "items": {
            "title": "Items",
            "items": {
              "$ref": "#/components/schemas/PublicInvoiceItemIn"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "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"
            ]
          },
          "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_metadata": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RecordTaxMetadata"
              },
              {
                "type": "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"
      },
      "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"
      },
      "PublicInvoiceSendSchemaIn": {
        "properties": {
          "to_emails": {
            "items": {
              "type": "string"
            },
            "title": "To Emails",
            "type": "array"
          },
          "cc_emails": {
            "items": {
              "type": "string"
            },
            "title": "Cc Emails",
            "type": "array"
          },
          "bcc_emails": {
            "items": {
              "type": "string"
            },
            "title": "Bcc Emails",
            "type": "array"
          },
          "pdf_content": {
            "title": "Pdf Content",
            "type": [
              "string",
              "null"
            ]
          },
          "message": {
            "title": "Message",
            "type": [
              "string",
              "null"
            ]
          },
          "subject": {
            "title": "Subject",
            "type": [
              "string",
              "null"
            ]
          },
          "sandbox": {
            "title": "Sandbox",
            "type": [
              "boolean",
              "null"
            ]
          },
          "invoice_id": {
            "title": "Invoice Id",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "title": "PublicInvoiceSendSchemaIn",
        "type": "object"
      },
      "PagedPublicSalesOrderCollectionLineOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicSalesOrderCollectionLineOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicSalesOrderCollectionLineOut",
        "type": "object"
      },
      "PublicSalesOrderCollectionLineOut": {
        "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"
          },
          "sales_order_number": {
            "title": "Sales Order Number",
            "type": "integer"
          },
          "sales_order_date": {
            "format": "date",
            "title": "Sales Order Date",
            "type": "string"
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "record_status": {
            "$ref": "#/components/schemas/RecordStatus"
          },
          "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",
          "sales_order_number",
          "sales_order_date",
          "company_id",
          "record_status",
          "net_amount",
          "tax_amount",
          "gross_amount",
          "amount"
        ],
        "title": "PublicSalesOrderCollectionLineOut",
        "type": "object"
      },
      "PublicSalesOrderV2ListFilterSchema": {
        "properties": {
          "search": {
            "title": "Search",
            "type": [
              "string",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "number": {
            "title": "Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "customer_id": {
            "title": "Customer 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"
            ]
          },
          "record_status": {
            "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": {
            "title": "Updated After",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_before": {
            "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": {
          "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_metadata": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RecordTaxMetadata"
              },
              {
                "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"
            ]
          },
          "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"
          },
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicSalesOrderItemIn"
            },
            "title": "Items",
            "type": "array"
          },
          "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": [
          "memo",
          "date",
          "company_id",
          "customer_id",
          "currency_iso_4217_code",
          "exchange_rate",
          "items"
        ],
        "title": "PublicSalesOrderSchemaCreateIn",
        "type": "object"
      },
      "PublicSalesOrderSchemaUpdateIn": {
        "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"
              }
            ]
          },
          "tax_metadata": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RecordTaxMetadata"
              },
              {
                "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"
            ]
          },
          "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"
          },
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicSalesOrderItemIn"
            },
            "title": "Items",
            "type": "array"
          },
          "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": [
          "memo",
          "date",
          "company_id",
          "customer_id",
          "currency_iso_4217_code",
          "exchange_rate",
          "items"
        ],
        "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"
      },
      "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"
      },
      "PagedPublicBillCollectionLineOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicBillCollectionLineOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicBillCollectionLineOut",
        "type": "object"
      },
      "PublicBillCollectionLineOut": {
        "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"
              }
            ]
          },
          "is_billable": {
            "default": false,
            "title": "Is Billable",
            "type": "boolean"
          },
          "billable_customer_id": {
            "title": "Billable Customer Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "billable_customer_name": {
            "title": "Billable Customer Name",
            "type": [
              "string",
              "null"
            ]
          },
          "billable_project_id": {
            "title": "Billable Project Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "billable_project_name": {
            "title": "Billable Project Name",
            "type": [
              "string",
              "null"
            ]
          },
          "billable_markup_pct": {
            "title": "Billable Markup Pct",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,4}0*$",
            "type": [
              "string",
              "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"
          },
          "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"
            ]
          },
          "bill_number": {
            "title": "Bill Number",
            "type": "integer"
          },
          "bill_date": {
            "format": "date",
            "title": "Bill Date",
            "type": "string"
          },
          "record_status": {
            "$ref": "#/components/schemas/RecordStatus"
          },
          "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",
          "company_id",
          "bill_number",
          "bill_date",
          "record_status",
          "net_amount",
          "tax_amount",
          "gross_amount",
          "amount"
        ],
        "title": "PublicBillCollectionLineOut",
        "type": "object"
      },
      "PublicBillV2ListFilterSchema": {
        "properties": {
          "search": {
            "title": "Search",
            "type": [
              "string",
              "null"
            ]
          },
          "code": {
            "title": "Code",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "vendor_id": {
            "title": "Vendor Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "number": {
            "title": "Number",
            "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"
            ]
          },
          "due_date": {
            "title": "Due Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "record_status": {
            "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": {
            "title": "Updated After",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_before": {
            "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"
          },
          "ship_from_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "ship_to_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "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_metadata": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RecordTaxMetadata"
              },
              {
                "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"
          },
          "code": {
            "title": "Code",
            "type": [
              "string",
              "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"
          },
          "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"
      },
      "TaxResultType": {
        "enum": [
          "SALES_TAX",
          "VAT",
          "GST",
          "NONE"
        ],
        "title": "TaxResultType",
        "type": "string"
      },
      "PublicBillExpenseOut": {
        "properties": {
          "tax": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ItemTaxDataOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "is_billable": {
            "default": false,
            "title": "Is Billable",
            "type": "boolean"
          },
          "billable_customer_id": {
            "title": "Billable Customer Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "billable_project_id": {
            "title": "Billable Project Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "billable_markup_pct": {
            "title": "Billable Markup Pct",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,4}0*$",
            "type": [
              "string",
              "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": {
            "description": "Optional company for this line. When set to a different company than the record header company_id, DualEntry treats the line as a cross-company (intercompany) allocation and posts IC Due To/From and elimination entries. Omit or set equal to the header company_id for a normal single-company line.",
            "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"
          },
          "billable_customer_name": {
            "title": "Billable Customer Name",
            "type": [
              "string",
              "null"
            ]
          },
          "billable_project_name": {
            "title": "Billable Project 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",
          "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"
              }
            ]
          },
          "is_billable": {
            "default": false,
            "title": "Is Billable",
            "type": "boolean"
          },
          "billable_customer_id": {
            "title": "Billable Customer Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "billable_project_id": {
            "title": "Billable Project Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "billable_markup_pct": {
            "title": "Billable Markup Pct",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,4}0*$",
            "type": [
              "string",
              "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": {
            "description": "Optional company for this line. When set to a different company than the record header company_id, DualEntry treats the line as a cross-company (intercompany) allocation and posts IC Due To/From and elimination entries. Omit or set equal to the header company_id for a normal single-company line.",
            "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"
          },
          "billable_customer_name": {
            "title": "Billable Customer Name",
            "type": [
              "string",
              "null"
            ]
          },
          "billable_project_name": {
            "title": "Billable Project 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",
          "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"
          },
          "ship_from_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "ship_to_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "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_metadata": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RecordTaxMetadata"
              },
              {
                "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"
          },
          "code": {
            "title": "Code",
            "type": [
              "string",
              "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"
          },
          "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"
              }
            ]
          },
          "is_billable": {
            "default": false,
            "description": "When true, this line is billable to a customer. Requires billable_customer_id.",
            "title": "Is Billable",
            "type": "boolean"
          },
          "billable_customer_id": {
            "description": "Customer to rebill for this line. Required when is_billable is true. Distinct from customer_id on expense lines.",
            "title": "Billable Customer Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "billable_project_id": {
            "description": "Optional project for the billable line. When set with billable_customer_id, the project must belong to that customer.",
            "title": "Billable Project Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "billable_markup_pct": {
            "anyOf": [
              {
                "maximum": 1000.0,
                "minimum": 0.0,
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,4}0*$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional markup percent for the billable line (0-1000).",
            "title": "Billable Markup Pct"
          },
          "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": {
            "description": "Optional company for this line. When set to a different company than the record header company_id, DualEntry treats the line as a cross-company (intercompany) allocation and posts IC Due To/From and elimination entries. Omit or set equal to the header company_id for a normal single-company line.",
            "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"
              }
            ]
          },
          "is_billable": {
            "default": false,
            "description": "When true, this line is billable to a customer. Requires billable_customer_id.",
            "title": "Is Billable",
            "type": "boolean"
          },
          "billable_customer_id": {
            "description": "Customer to rebill for this line. Required when is_billable is true. Distinct from customer_id on expense lines.",
            "title": "Billable Customer Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "billable_project_id": {
            "description": "Optional project for the billable line. When set with billable_customer_id, the project must belong to that customer.",
            "title": "Billable Project Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "billable_markup_pct": {
            "anyOf": [
              {
                "maximum": 1000.0,
                "minimum": 0.0,
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,4}0*$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional markup percent for the billable line (0-1000).",
            "title": "Billable Markup Pct"
          },
          "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": {
            "description": "Optional company for this line. When set to a different company than the record header company_id, DualEntry treats the line as a cross-company (intercompany) allocation and posts IC Due To/From and elimination entries. Omit or set equal to the header company_id for a normal single-company line.",
            "title": "Company Id",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "position",
          "item_id",
          "memo",
          "rate",
          "quantity"
        ],
        "title": "PublicBillItemIn",
        "type": "object"
      },
      "PublicBillSchemaCreateIn": {
        "properties": {
          "ship_from_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaIn"
              },
              {
                "type": "null"
              }
            ]
          },
          "ship_to_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaIn"
              },
              {
                "type": "null"
              }
            ]
          },
          "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_metadata": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RecordTaxMetadata"
              },
              {
                "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"
            ]
          },
          "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": {
          "ship_from_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaIn"
              },
              {
                "type": "null"
              }
            ]
          },
          "ship_to_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaIn"
              },
              {
                "type": "null"
              }
            ]
          },
          "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_metadata": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RecordTaxMetadata"
              },
              {
                "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"
            ]
          },
          "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"
            ]
          },
          "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_metadata": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RecordTaxMetadata"
              },
              {
                "type": "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"
              }
            ]
          },
          "is_billable": {
            "default": false,
            "title": "Is Billable",
            "type": "boolean"
          },
          "billable_customer_id": {
            "title": "Billable Customer Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "billable_customer_name": {
            "title": "Billable Customer Name",
            "type": [
              "string",
              "null"
            ]
          },
          "billable_project_id": {
            "title": "Billable Project Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "billable_project_name": {
            "title": "Billable Project Name",
            "type": [
              "string",
              "null"
            ]
          },
          "billable_markup_pct": {
            "title": "Billable Markup Pct",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,4}0*$",
            "type": [
              "string",
              "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": {
            "description": "Optional company for this line. When set to a different company than the record header company_id, DualEntry treats the line as a cross-company (intercompany) allocation and posts IC Due To/From and elimination entries. Omit or set equal to the header company_id for a normal single-company line.",
            "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"
      },
      "PagedPublicJournalEntryCollectionLineOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicJournalEntryCollectionLineOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicJournalEntryCollectionLineOut",
        "type": "object"
      },
      "PublicJournalEntryCollectionLineOut": {
        "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"
          },
          "is_billable": {
            "default": false,
            "title": "Is Billable",
            "type": "boolean"
          },
          "billable_customer_id": {
            "title": "Billable Customer Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "billable_customer_name": {
            "title": "Billable Customer Name",
            "type": [
              "string",
              "null"
            ]
          },
          "billable_project_id": {
            "title": "Billable Project Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "billable_project_name": {
            "title": "Billable Project Name",
            "type": [
              "string",
              "null"
            ]
          },
          "billable_markup_pct": {
            "title": "Billable Markup Pct",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,4}0*$",
            "type": [
              "string",
              "null"
            ]
          },
          "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": "PublicJournalEntryCollectionLineOut",
        "type": "object"
      },
      "PublicJournalEntryV2ListFilterSchema": {
        "properties": {
          "integration_sources": {
            "title": "Integration Sources",
            "items": {
              "$ref": "#/components/schemas/IntegrationSourceSlug"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "search": {
            "title": "Search",
            "type": [
              "string",
              "null"
            ]
          },
          "code": {
            "title": "Code",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "account_id": {
            "title": "Account Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "customer_id": {
            "title": "Customer Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "vendor_id": {
            "title": "Vendor Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "number": {
            "title": "Number",
            "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"
            ]
          },
          "record_status": {
            "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"
              }
            ],
            "title": "Amount Gte"
          },
          "amount_lte": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Amount Lte"
          },
          "created_by_id": {
            "title": "Created By Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "created_by_name": {
            "title": "Created By Name",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "updated_after": {
            "title": "Updated After",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_before": {
            "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"
          },
          "code": {
            "title": "Code",
            "type": [
              "string",
              "null"
            ]
          },
          "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"
          },
          "created_by_id": {
            "title": "Created By Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "created_by_name": {
            "title": "Created By Name",
            "type": [
              "string",
              "null"
            ]
          },
          "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"
          },
          "is_billable": {
            "default": false,
            "title": "Is Billable",
            "type": "boolean"
          },
          "billable_customer_id": {
            "title": "Billable Customer Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "billable_customer_name": {
            "title": "Billable Customer Name",
            "type": [
              "string",
              "null"
            ]
          },
          "billable_project_id": {
            "title": "Billable Project Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "billable_project_name": {
            "title": "Billable Project Name",
            "type": [
              "string",
              "null"
            ]
          },
          "billable_markup_pct": {
            "title": "Billable Markup Pct",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,4}0*$",
            "type": [
              "string",
              "null"
            ]
          },
          "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"
          },
          "is_billable": {
            "default": false,
            "title": "Is Billable",
            "type": "boolean"
          },
          "billable_customer_id": {
            "title": "Billable Customer Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "billable_customer_name": {
            "title": "Billable Customer Name",
            "type": [
              "string",
              "null"
            ]
          },
          "billable_project_id": {
            "title": "Billable Project Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "billable_project_name": {
            "title": "Billable Project Name",
            "type": [
              "string",
              "null"
            ]
          },
          "billable_markup_pct": {
            "title": "Billable Markup Pct",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,4}0*$",
            "type": [
              "string",
              "null"
            ]
          },
          "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"
          },
          "code": {
            "title": "Code",
            "type": [
              "string",
              "null"
            ]
          },
          "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"
          },
          "created_by_id": {
            "title": "Created By Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "created_by_name": {
            "title": "Created By Name",
            "type": [
              "string",
              "null"
            ]
          },
          "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": {
          "is_billable": {
            "default": false,
            "description": "When true, this line is billable to a customer. Requires billable_customer_id.",
            "title": "Is Billable",
            "type": "boolean"
          },
          "billable_customer_id": {
            "description": "Customer to rebill for this line. Required when is_billable is true. Distinct from customer_id on expense lines.",
            "title": "Billable Customer Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "billable_project_id": {
            "description": "Optional project for the billable line. When set with billable_customer_id, the project must belong to that customer.",
            "title": "Billable Project Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "billable_markup_pct": {
            "anyOf": [
              {
                "maximum": 1000.0,
                "minimum": 0.0,
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,4}0*$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional markup percent for the billable line (0-1000).",
            "title": "Billable Markup Pct"
          },
          "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"
      },
      "PagedPublicPurchaseOrderCollectionLineOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicPurchaseOrderCollectionLineOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicPurchaseOrderCollectionLineOut",
        "type": "object"
      },
      "PublicPurchaseOrderCollectionLineOut": {
        "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"
              }
            ]
          },
          "is_billable": {
            "default": false,
            "title": "Is Billable",
            "type": "boolean"
          },
          "billable_customer_id": {
            "title": "Billable Customer Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "billable_customer_name": {
            "title": "Billable Customer Name",
            "type": [
              "string",
              "null"
            ]
          },
          "billable_project_id": {
            "title": "Billable Project Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "billable_project_name": {
            "title": "Billable Project Name",
            "type": [
              "string",
              "null"
            ]
          },
          "billable_markup_pct": {
            "title": "Billable Markup Pct",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,4}0*$",
            "type": [
              "string",
              "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"
          },
          "expected_location_id": {
            "description": "Location the item is expected to be received into. Advisory only, not enforced against the Item Receipt.",
            "title": "Expected Location Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "expected_location_name": {
            "description": "Name of the expected location",
            "title": "Expected Location Name",
            "type": [
              "string",
              "null"
            ]
          },
          "purchase_order_number": {
            "title": "Purchase Order Number",
            "type": "integer"
          },
          "purchase_order_date": {
            "format": "date",
            "title": "Purchase Order Date",
            "type": "string"
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "record_status": {
            "$ref": "#/components/schemas/RecordStatus"
          },
          "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",
          "purchase_order_number",
          "purchase_order_date",
          "company_id",
          "record_status",
          "net_amount",
          "tax_amount",
          "gross_amount",
          "amount"
        ],
        "title": "PublicPurchaseOrderCollectionLineOut",
        "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"
      },
      "PublicPurchaseOrderV2ListFilterSchema": {
        "properties": {
          "search": {
            "title": "Search",
            "type": [
              "string",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "number": {
            "title": "Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "vendor_id": {
            "title": "Vendor 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"
            ]
          },
          "record_status": {
            "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
          },
          "lifecycle_status": {
            "title": "Lifecycle Status",
            "items": {
              "$ref": "#/components/schemas/PurchaseOrderLifecycleStatus"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "updated_after": {
            "title": "Updated After",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_before": {
            "title": "Updated Before",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "title": "PublicPurchaseOrderV2ListFilterSchema",
        "type": "object"
      },
      "PurchaseOrderBilledStatus": {
        "enum": [
          "billed",
          "unbilled",
          "partially_billed"
        ],
        "title": "PurchaseOrderBilledStatus",
        "type": "string"
      },
      "PurchaseOrderLifecycleStatus": {
        "enum": [
          "open",
          "closed",
          "cancelled"
        ],
        "title": "PurchaseOrderLifecycleStatus",
        "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": {
          "ship_from_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "ship_to_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "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"
          },
          "lifecycle_status": {
            "$ref": "#/components/schemas/PurchaseOrderLifecycleStatus"
          },
          "reference_number": {
            "default": "",
            "title": "Reference Number",
            "type": "string"
          },
          "expected_location_id": {
            "description": "Default expected location for this PO's lines. Advisory only, not enforced.",
            "title": "Expected Location Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "expected_location_name": {
            "description": "Name of the default expected location",
            "title": "Expected Location Name",
            "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": [
          "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",
          "lifecycle_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"
              }
            ]
          },
          "is_billable": {
            "default": false,
            "title": "Is Billable",
            "type": "boolean"
          },
          "billable_customer_id": {
            "title": "Billable Customer Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "billable_customer_name": {
            "title": "Billable Customer Name",
            "type": [
              "string",
              "null"
            ]
          },
          "billable_project_id": {
            "title": "Billable Project Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "billable_project_name": {
            "title": "Billable Project Name",
            "type": [
              "string",
              "null"
            ]
          },
          "billable_markup_pct": {
            "title": "Billable Markup Pct",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,4}0*$",
            "type": [
              "string",
              "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"
          },
          "expected_location_id": {
            "description": "Location the item is expected to be received into. Advisory only, not enforced against the Item Receipt.",
            "title": "Expected Location Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "expected_location_name": {
            "description": "Name of the expected location",
            "title": "Expected Location 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": [
          "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": {
          "ship_from_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "ship_to_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "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"
          },
          "lifecycle_status": {
            "$ref": "#/components/schemas/PurchaseOrderLifecycleStatus"
          },
          "reference_number": {
            "default": "",
            "title": "Reference Number",
            "type": "string"
          },
          "expected_location_id": {
            "description": "Default expected location for this PO's lines. Advisory only, not enforced.",
            "title": "Expected Location Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "expected_location_name": {
            "description": "Name of the default expected location",
            "title": "Expected Location Name",
            "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": [
          "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",
          "lifecycle_status",
          "created_at",
          "updated_at"
        ],
        "title": "PublicPurchaseOrderV2SchemaOut",
        "type": "object"
      },
      "PublicPurchaseOrderItemIn": {
        "properties": {
          "tax": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ItemTaxData"
              },
              {
                "type": "null"
              }
            ]
          },
          "is_billable": {
            "default": false,
            "description": "When true, this line is billable to a customer. Requires billable_customer_id.",
            "title": "Is Billable",
            "type": "boolean"
          },
          "billable_customer_id": {
            "description": "Customer to rebill for this line. Required when is_billable is true. Distinct from customer_id on expense lines.",
            "title": "Billable Customer Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "billable_project_id": {
            "description": "Optional project for the billable line. When set with billable_customer_id, the project must belong to that customer.",
            "title": "Billable Project Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "billable_markup_pct": {
            "anyOf": [
              {
                "maximum": 1000.0,
                "minimum": 0.0,
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,4}0*$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional markup percent for the billable line (0-1000).",
            "title": "Billable Markup Pct"
          },
          "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"
          },
          "expected_location_id": {
            "description": "Location the item is expected to be received into. Advisory only, not enforced against the Item Receipt.",
            "title": "Expected Location Id",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "position",
          "item_id",
          "memo",
          "quantity",
          "rate",
          "classifications"
        ],
        "title": "PublicPurchaseOrderItemIn",
        "type": "object"
      },
      "PublicPurchaseOrderSchemaCreateIn": {
        "properties": {
          "ship_from_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaIn"
              },
              {
                "type": "null"
              }
            ]
          },
          "ship_to_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaIn"
              },
              {
                "type": "null"
              }
            ]
          },
          "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_metadata": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RecordTaxMetadata"
              },
              {
                "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"
          },
          "expected_location_id": {
            "description": "Default expected location for this PO's lines. Advisory only, not enforced.",
            "title": "Expected Location Id",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "date",
          "company_id",
          "vendor_id",
          "currency_iso_4217_code",
          "exchange_rate",
          "memo",
          "items"
        ],
        "title": "PublicPurchaseOrderSchemaCreateIn",
        "type": "object"
      },
      "PublicPurchaseOrderSchemaUpdateIn": {
        "properties": {
          "ship_from_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaIn"
              },
              {
                "type": "null"
              }
            ]
          },
          "ship_to_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaIn"
              },
              {
                "type": "null"
              }
            ]
          },
          "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_metadata": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RecordTaxMetadata"
              },
              {
                "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"
          },
          "expected_location_id": {
            "description": "Default expected location for this PO's lines. Advisory only, not enforced.",
            "title": "Expected Location Id",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "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"
            ]
          },
          "code": {
            "title": "Code",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "id": {
            "title": "Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "number": {
            "title": "Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "customer_id": {
            "title": "Customer 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"
            ]
          },
          "transaction_currency": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              {
                "type": "null"
              }
            ]
          },
          "record_status": {
            "title": "Record Status",
            "items": {
              "$ref": "#/components/schemas/RecordStatus"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "updated_after": {
            "title": "Updated After",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_before": {
            "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"
          },
          "code": {
            "title": "Code",
            "type": [
              "string",
              "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"
          },
          "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"
      },
      "PublicCustomerPrepaymentSchemaPatchIn": {
        "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"
            ]
          },
          "account_number": {
            "title": "Account Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "memo": {
            "title": "Memo",
            "type": [
              "string",
              "null"
            ]
          },
          "check_number": {
            "title": "Check 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"
          },
          "undeposited_funds_currency": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              {
                "type": "null"
              }
            ]
          },
          "amount": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Amount"
          },
          "bank_or_undeposited_funds_amount": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Bank Or Undeposited Funds Amount"
          },
          "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"
              }
            ]
          },
          "date": {
            "title": "Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "transaction_date": {
            "title": "Transaction Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "title": "PublicCustomerPrepaymentSchemaPatchIn",
        "type": "object"
      },
      "PublicCustomerPrepaymentApplicationV2ListFilterSchema": {
        "properties": {
          "search": {
            "title": "Search",
            "type": [
              "string",
              "null"
            ]
          },
          "code": {
            "title": "Code",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "number": {
            "title": "Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "customer_id": {
            "title": "Customer 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"
            ]
          },
          "transaction_currency": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              {
                "type": "null"
              }
            ]
          },
          "record_status": {
            "title": "Record Status",
            "items": {
              "$ref": "#/components/schemas/RecordStatus"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "updated_after": {
            "title": "Updated After",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_before": {
            "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"
          },
          "code": {
            "title": "Code",
            "type": [
              "string",
              "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"
          },
          "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"
          },
          "code": {
            "title": "Code",
            "type": [
              "string",
              "null"
            ]
          },
          "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"
      },
      "PublicCustomerPrepaymentApplicationSchemaPatchIn": {
        "properties": {
          "custom_fields": {
            "title": "Custom Fields",
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "customer_prepayment_number": {
            "title": "Customer Prepayment Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "customer_credit_number": {
            "title": "Customer Credit 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"
          },
          "memo": {
            "title": "Memo",
            "type": [
              "string",
              "null"
            ]
          },
          "items": {
            "title": "Items",
            "items": {
              "$ref": "#/components/schemas/PublicCustomerPrepaymentApplicationItemIn"
            },
            "type": [
              "array",
              "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": "PublicCustomerPrepaymentApplicationSchemaPatchIn",
        "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"
      },
      "PagedPublicCustomerDepositCollectionLineOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicCustomerDepositCollectionLineOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicCustomerDepositCollectionLineOut",
        "type": "object"
      },
      "PublicCustomerDepositCollectionLineOut": {
        "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"
            ]
          },
          "customer_deposit_number": {
            "title": "Customer Deposit Number",
            "type": "integer"
          },
          "customer_deposit_date": {
            "format": "date",
            "title": "Customer Deposit Date",
            "type": "string"
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "record_status": {
            "$ref": "#/components/schemas/RecordStatus"
          }
        },
        "required": [
          "id",
          "customer_prepayment_number",
          "customer_payment_number",
          "cash_sale_number",
          "vendor_refund_number",
          "account_id",
          "description",
          "customer_id",
          "vendor_id",
          "customer_deposit_number",
          "customer_deposit_date",
          "company_id",
          "record_status"
        ],
        "title": "PublicCustomerDepositCollectionLineOut",
        "type": "object"
      },
      "PublicCustomerDepositV2ListFilterSchema": {
        "properties": {
          "search": {
            "title": "Search",
            "type": [
              "string",
              "null"
            ]
          },
          "code": {
            "title": "Code",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "number": {
            "title": "Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "customer_id": {
            "title": "Customer 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"
            ]
          },
          "transaction_currency": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              {
                "type": "null"
              }
            ]
          },
          "record_status": {
            "title": "Record Status",
            "items": {
              "$ref": "#/components/schemas/RecordStatus"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "updated_after": {
            "title": "Updated After",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_before": {
            "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"
          },
          "code": {
            "title": "Code",
            "type": [
              "string",
              "null"
            ]
          },
          "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"
          },
          "code": {
            "title": "Code",
            "type": [
              "string",
              "null"
            ]
          },
          "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"
      },
      "PublicCustomerRefundV2ListFilterSchema": {
        "properties": {
          "search": {
            "title": "Search",
            "type": [
              "string",
              "null"
            ]
          },
          "code": {
            "title": "Code",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "number": {
            "title": "Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "customer_id": {
            "title": "Customer 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"
            ]
          },
          "transaction_currency": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              {
                "type": "null"
              }
            ]
          },
          "record_status": {
            "title": "Record Status",
            "items": {
              "$ref": "#/components/schemas/RecordStatus"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "updated_after": {
            "title": "Updated After",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_before": {
            "title": "Updated Before",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "title": "PublicCustomerRefundV2ListFilterSchema",
        "type": "object"
      },
      "PagedPublicCustomerRefundV2ListSchemaOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicCustomerRefundV2ListSchemaOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicCustomerRefundV2ListSchemaOut",
        "type": "object"
      },
      "PublicCustomerRefundV2ListSchemaOut": {
        "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"
          },
          "code": {
            "title": "Code",
            "type": [
              "string",
              "null"
            ]
          },
          "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"
          },
          "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",
          "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": "PublicCustomerRefundV2ListSchemaOut",
        "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"
      },
      "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"
      },
      "PublicCustomerRefundV2SchemaOut": {
        "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"
          },
          "code": {
            "title": "Code",
            "type": [
              "string",
              "null"
            ]
          },
          "account_number": {
            "title": "Account Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "items": {
            "default": [],
            "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"
              }
            ]
          },
          "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",
          "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": "PublicCustomerRefundV2SchemaOut",
        "type": "object"
      },
      "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.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.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"
      },
      "PagedPublicCustomerRefundItemOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicCustomerRefundItemOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicCustomerRefundItemOut",
        "type": "object"
      },
      "PagedPublicCustomerCreditCollectionLineOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicCustomerCreditCollectionLineOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicCustomerCreditCollectionLineOut",
        "type": "object"
      },
      "PublicCustomerCreditCollectionLineOut": {
        "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"
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "customer_credit_number": {
            "title": "Customer Credit Number",
            "type": "integer"
          },
          "customer_credit_date": {
            "format": "date",
            "title": "Customer Credit Date",
            "type": "string"
          },
          "record_status": {
            "$ref": "#/components/schemas/RecordStatus"
          },
          "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",
          "company_id",
          "customer_credit_number",
          "customer_credit_date",
          "record_status",
          "net_amount",
          "tax_amount",
          "gross_amount",
          "amount"
        ],
        "title": "PublicCustomerCreditCollectionLineOut",
        "type": "object"
      },
      "PublicCustomerCreditV2ListFilterSchema": {
        "properties": {
          "search": {
            "title": "Search",
            "type": [
              "string",
              "null"
            ]
          },
          "code": {
            "title": "Code",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "number": {
            "title": "Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "customer_id": {
            "title": "Customer 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"
            ]
          },
          "transaction_currency": {
            "title": "Transaction Currency",
            "items": {
              "$ref": "#/components/schemas/SystemCurrencies"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "record_status": {
            "title": "Record Status",
            "items": {
              "$ref": "#/components/schemas/RecordStatus"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "updated_after": {
            "title": "Updated After",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_before": {
            "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",
          "monday",
          "airwallex",
          "pleo",
          "tipalti",
          "addepar",
          "moss",
          "external"
        ],
        "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_name": {
            "title": "Integration Name",
            "type": [
              "string",
              "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",
          "netsuite_rutter",
          "sage_50_rutter",
          "sage_50",
          "qbd"
        ],
        "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"
          },
          "code": {
            "title": "Code",
            "type": [
              "string",
              "null"
            ]
          },
          "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"
          },
          "company_id": {
            "description": "Optional company for this line. When set to a different company than the record header company_id, DualEntry treats the line as a cross-company (intercompany) allocation and posts IC Due To/From and elimination entries. Omit or set equal to the header company_id for a normal single-company line.",
            "title": "Company Id",
            "type": [
              "integer",
              "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": [
          "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"
          },
          "code": {
            "title": "Code",
            "type": [
              "string",
              "null"
            ]
          },
          "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"
          },
          "company_id": {
            "description": "Optional company for this line. When set to a different company than the record header company_id, DualEntry treats the line as a cross-company (intercompany) allocation and posts IC Due To/From and elimination entries. Omit or set equal to the header company_id for a normal single-company line.",
            "title": "Company Id",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "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"
              }
            ]
          },
          "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_metadata": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RecordTaxMetadata"
              },
              {
                "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"
              }
            ]
          },
          "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_metadata": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RecordTaxMetadata"
              },
              {
                "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"
      },
      "PublicCustomerCreditSchemaPatchIn": {
        "properties": {
          "custom_fields": {
            "title": "Custom Fields",
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "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_metadata": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RecordTaxMetadata"
              },
              {
                "type": "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",
              "null"
            ]
          },
          "currency_iso_4217_code": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              {
                "type": "null"
              }
            ]
          },
          "memo": {
            "title": "Memo",
            "type": [
              "string",
              "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/PublicCustomerCreditItemIn"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "attachments": {
            "title": "Attachments",
            "items": {
              "$ref": "#/components/schemas/AttachmentSchemaOut"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "record_status": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RecordStatus"
              },
              {
                "type": "null"
              }
            ]
          },
          "contract_id": {
            "title": "Contract Id",
            "type": [
              "integer",
              "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"
              }
            ]
          },
          "date": {
            "title": "Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "transaction_date": {
            "title": "Transaction Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "title": "PublicCustomerCreditSchemaPatchIn",
        "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"
      },
      "PagedPublicCashSaleCollectionLineOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicCashSaleCollectionLineOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicCashSaleCollectionLineOut",
        "type": "object"
      },
      "PublicCashSaleCollectionLineOut": {
        "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"
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "cash_sale_number": {
            "title": "Cash Sale Number",
            "type": "integer"
          },
          "cash_sale_date": {
            "format": "date",
            "title": "Cash Sale Date",
            "type": "string"
          },
          "record_status": {
            "$ref": "#/components/schemas/RecordStatus"
          },
          "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",
          "company_id",
          "cash_sale_number",
          "cash_sale_date",
          "record_status",
          "net_amount",
          "tax_amount",
          "gross_amount",
          "amount"
        ],
        "title": "PublicCashSaleCollectionLineOut",
        "type": "object"
      },
      "PublicCashSaleV2ListFilterSchema": {
        "properties": {
          "search": {
            "title": "Search",
            "type": [
              "string",
              "null"
            ]
          },
          "code": {
            "title": "Code",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "number": {
            "title": "Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "customer_id": {
            "title": "Customer 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"
            ]
          },
          "transaction_currency": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              {
                "type": "null"
              }
            ]
          },
          "record_status": {
            "title": "Record Status",
            "items": {
              "$ref": "#/components/schemas/RecordStatus"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "updated_after": {
            "title": "Updated After",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_before": {
            "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"
          },
          "code": {
            "title": "Code",
            "type": [
              "string",
              "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"
          },
          "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"
          },
          "company_id": {
            "description": "Optional company for this line. When set to a different company than the record header company_id, DualEntry treats the line as a cross-company (intercompany) allocation and posts IC Due To/From and elimination entries. Omit or set equal to the header company_id for a normal single-company line.",
            "title": "Company Id",
            "type": [
              "integer",
              "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",
          "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"
          },
          "code": {
            "title": "Code",
            "type": [
              "string",
              "null"
            ]
          },
          "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"
          },
          "company_id": {
            "description": "Optional company for this line. When set to a different company than the record header company_id, DualEntry treats the line as a cross-company (intercompany) allocation and posts IC Due To/From and elimination entries. Omit or set equal to the header company_id for a normal single-company line.",
            "title": "Company Id",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "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"
              }
            ]
          },
          "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_metadata": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RecordTaxMetadata"
              },
              {
                "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"
            ]
          },
          "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"
              }
            ]
          },
          "items": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicCashSaleItemIn"
            },
            "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",
          "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"
              }
            ]
          },
          "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_metadata": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RecordTaxMetadata"
              },
              {
                "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"
            ]
          },
          "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"
              }
            ]
          },
          "items": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicCashSaleItemIn"
            },
            "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",
          "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"
      },
      "PagedPublicCustomerPaymentCollectionLineOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicCustomerPaymentCollectionLineOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicCustomerPaymentCollectionLineOut",
        "type": "object"
      },
      "PublicCustomerPaymentCollectionLineOut": {
        "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"
          },
          "customer_payment_number": {
            "title": "Customer Payment Number",
            "type": "integer"
          },
          "customer_payment_date": {
            "format": "date",
            "title": "Customer Payment Date",
            "type": "string"
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "record_status": {
            "$ref": "#/components/schemas/RecordStatus"
          }
        },
        "required": [
          "amount",
          "position",
          "bank_or_undeposited_account_amount",
          "customer_payment_number",
          "customer_payment_date",
          "company_id",
          "record_status"
        ],
        "title": "PublicCustomerPaymentCollectionLineOut",
        "type": "object"
      },
      "PublicCustomerPaymentV2ListFilterSchema": {
        "properties": {
          "search": {
            "title": "Search",
            "type": [
              "string",
              "null"
            ]
          },
          "code": {
            "title": "Code",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "number": {
            "title": "Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "customer_id": {
            "title": "Customer 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"
            ]
          },
          "transaction_currency": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              {
                "type": "null"
              }
            ]
          },
          "record_status": {
            "title": "Record Status",
            "items": {
              "$ref": "#/components/schemas/RecordStatus"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "invoice_number": {
            "title": "Invoice Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "customer_credit_number": {
            "title": "Customer Credit Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "updated_after": {
            "title": "Updated After",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_before": {
            "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"
          },
          "code": {
            "title": "Code",
            "type": [
              "string",
              "null"
            ]
          },
          "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"
          },
          "code": {
            "title": "Code",
            "type": [
              "string",
              "null"
            ]
          },
          "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.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.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.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"
      },
      "PagedPublicVendorPaymentCollectionLineOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicVendorPaymentCollectionLineOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicVendorPaymentCollectionLineOut",
        "type": "object"
      },
      "PublicVendorPaymentCollectionLineOut": {
        "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"
          },
          "vendor_payment_number": {
            "title": "Vendor Payment Number",
            "type": "integer"
          },
          "vendor_payment_date": {
            "format": "date",
            "title": "Vendor Payment Date",
            "type": "string"
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "record_status": {
            "$ref": "#/components/schemas/RecordStatus"
          }
        },
        "required": [
          "amount",
          "position",
          "bank_or_credit_card_amount",
          "vendor_payment_number",
          "vendor_payment_date",
          "company_id",
          "record_status"
        ],
        "title": "PublicVendorPaymentCollectionLineOut",
        "type": "object"
      },
      "PublicVendorPaymentV2ListFilterSchema": {
        "properties": {
          "search": {
            "title": "Search",
            "type": [
              "string",
              "null"
            ]
          },
          "code": {
            "title": "Code",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "number": {
            "title": "Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "vendor_id": {
            "title": "Vendor 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"
            ]
          },
          "transaction_currency": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              {
                "type": "null"
              }
            ]
          },
          "record_status": {
            "title": "Record Status",
            "items": {
              "$ref": "#/components/schemas/RecordStatus"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "bill_number": {
            "title": "Bill Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "vendor_credit_number": {
            "title": "Vendor Credit Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "updated_after": {
            "title": "Updated After",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_before": {
            "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"
          },
          "code": {
            "title": "Code",
            "type": [
              "string",
              "null"
            ]
          },
          "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"
          },
          "code": {
            "title": "Code",
            "type": [
              "string",
              "null"
            ]
          },
          "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.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.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"
            ]
          },
          "code": {
            "title": "Code",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "number": {
            "title": "Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "vendor_id": {
            "title": "Vendor 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"
            ]
          },
          "transaction_currency": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              {
                "type": "null"
              }
            ]
          },
          "record_status": {
            "title": "Record Status",
            "items": {
              "$ref": "#/components/schemas/RecordStatus"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "recurring_record_id": {
            "title": "Recurring Record Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "updated_after": {
            "title": "Updated After",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_before": {
            "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"
          },
          "code": {
            "title": "Code",
            "type": [
              "string",
              "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"
          },
          "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"
            ]
          },
          "code": {
            "title": "Code",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "number": {
            "title": "Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "vendor_id": {
            "title": "Vendor 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"
            ]
          },
          "transaction_currency": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              {
                "type": "null"
              }
            ]
          },
          "record_status": {
            "title": "Record Status",
            "items": {
              "$ref": "#/components/schemas/RecordStatus"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "bill_id": {
            "title": "Bill Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "updated_after": {
            "title": "Updated After",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_before": {
            "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"
          },
          "code": {
            "title": "Code",
            "type": [
              "string",
              "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"
          },
          "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"
          },
          "code": {
            "title": "Code",
            "type": [
              "string",
              "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"
          },
          "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"
      },
      "PagedPublicVendorCreditCollectionLineOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicVendorCreditCollectionLineOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicVendorCreditCollectionLineOut",
        "type": "object"
      },
      "PublicVendorCreditCollectionLineOut": {
        "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"
              }
            ]
          },
          "is_billable": {
            "default": false,
            "title": "Is Billable",
            "type": "boolean"
          },
          "billable_customer_id": {
            "title": "Billable Customer Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "billable_customer_name": {
            "title": "Billable Customer Name",
            "type": [
              "string",
              "null"
            ]
          },
          "billable_project_id": {
            "title": "Billable Project Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "billable_project_name": {
            "title": "Billable Project Name",
            "type": [
              "string",
              "null"
            ]
          },
          "billable_markup_pct": {
            "title": "Billable Markup Pct",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,4}0*$",
            "type": [
              "string",
              "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"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "vendor_credit_number": {
            "title": "Vendor Credit Number",
            "type": "integer"
          },
          "vendor_credit_date": {
            "format": "date",
            "title": "Vendor Credit Date",
            "type": "string"
          },
          "record_status": {
            "$ref": "#/components/schemas/RecordStatus"
          },
          "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",
          "company_id",
          "vendor_credit_number",
          "vendor_credit_date",
          "record_status",
          "net_amount",
          "tax_amount",
          "gross_amount",
          "amount"
        ],
        "title": "PublicVendorCreditCollectionLineOut",
        "type": "object"
      },
      "PublicVendorCreditV2ListFilterSchema": {
        "properties": {
          "search": {
            "title": "Search",
            "type": [
              "string",
              "null"
            ]
          },
          "code": {
            "title": "Code",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "number": {
            "title": "Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "vendor_id": {
            "title": "Vendor 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"
            ]
          },
          "transaction_currency": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              {
                "type": "null"
              }
            ]
          },
          "record_status": {
            "title": "Record Status",
            "items": {
              "$ref": "#/components/schemas/RecordStatus"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "bill_number": {
            "title": "Bill Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "updated_after": {
            "title": "Updated After",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_before": {
            "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"
          },
          "ship_from_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "ship_to_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "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_metadata": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RecordTaxMetadata"
              },
              {
                "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"
          },
          "code": {
            "title": "Code",
            "type": [
              "string",
              "null"
            ]
          },
          "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"
              }
            ]
          },
          "is_billable": {
            "default": false,
            "title": "Is Billable",
            "type": "boolean"
          },
          "billable_customer_id": {
            "title": "Billable Customer Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "billable_project_id": {
            "title": "Billable Project Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "billable_markup_pct": {
            "title": "Billable Markup Pct",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,4}0*$",
            "type": [
              "string",
              "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"
          },
          "company_id": {
            "description": "Optional company for this line. When set to a different company than the record header company_id, DualEntry treats the line as a cross-company (intercompany) allocation and posts IC Due To/From and elimination entries. Omit or set equal to the header company_id for a normal single-company line.",
            "title": "Company Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "billable_customer_name": {
            "title": "Billable Customer Name",
            "type": [
              "string",
              "null"
            ]
          },
          "billable_project_name": {
            "title": "Billable Project Name",
            "type": [
              "string",
              "null"
            ]
          },
          "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"
              }
            ]
          },
          "is_billable": {
            "default": false,
            "title": "Is Billable",
            "type": "boolean"
          },
          "billable_customer_id": {
            "title": "Billable Customer Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "billable_project_id": {
            "title": "Billable Project Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "billable_markup_pct": {
            "title": "Billable Markup Pct",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,4}0*$",
            "type": [
              "string",
              "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"
          },
          "company_id": {
            "description": "Optional company for this line. When set to a different company than the record header company_id, DualEntry treats the line as a cross-company (intercompany) allocation and posts IC Due To/From and elimination entries. Omit or set equal to the header company_id for a normal single-company line.",
            "title": "Company Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "item_type": {
            "title": "Item Type",
            "type": [
              "string",
              "null"
            ]
          },
          "hsn_sac_code": {
            "title": "Hsn Sac Code",
            "type": [
              "string",
              "null"
            ]
          },
          "billable_customer_name": {
            "title": "Billable Customer Name",
            "type": [
              "string",
              "null"
            ]
          },
          "billable_project_name": {
            "title": "Billable Project Name",
            "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"
          },
          "ship_from_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "ship_to_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "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_metadata": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RecordTaxMetadata"
              },
              {
                "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"
          },
          "code": {
            "title": "Code",
            "type": [
              "string",
              "null"
            ]
          },
          "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"
              }
            ]
          },
          "is_billable": {
            "default": false,
            "description": "When true, this line is billable to a customer. Requires billable_customer_id.",
            "title": "Is Billable",
            "type": "boolean"
          },
          "billable_customer_id": {
            "description": "Customer to rebill for this line. Required when is_billable is true. Distinct from customer_id on expense lines.",
            "title": "Billable Customer Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "billable_project_id": {
            "description": "Optional project for the billable line. When set with billable_customer_id, the project must belong to that customer.",
            "title": "Billable Project Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "billable_markup_pct": {
            "anyOf": [
              {
                "maximum": 1000.0,
                "minimum": 0.0,
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,4}0*$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional markup percent for the billable line (0-1000).",
            "title": "Billable Markup Pct"
          },
          "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"
          },
          "company_id": {
            "description": "Optional company for this line. When set to a different company than the record header company_id, DualEntry treats the line as a cross-company (intercompany) allocation and posts IC Due To/From and elimination entries. Omit or set equal to the header company_id for a normal single-company line.",
            "title": "Company Id",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "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"
              }
            ]
          },
          "is_billable": {
            "default": false,
            "description": "When true, this line is billable to a customer. Requires billable_customer_id.",
            "title": "Is Billable",
            "type": "boolean"
          },
          "billable_customer_id": {
            "description": "Customer to rebill for this line. Required when is_billable is true. Distinct from customer_id on expense lines.",
            "title": "Billable Customer Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "billable_project_id": {
            "description": "Optional project for the billable line. When set with billable_customer_id, the project must belong to that customer.",
            "title": "Billable Project Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "billable_markup_pct": {
            "anyOf": [
              {
                "maximum": 1000.0,
                "minimum": 0.0,
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,4}0*$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional markup percent for the billable line (0-1000).",
            "title": "Billable Markup Pct"
          },
          "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"
          },
          "company_id": {
            "description": "Optional company for this line. When set to a different company than the record header company_id, DualEntry treats the line as a cross-company (intercompany) allocation and posts IC Due To/From and elimination entries. Omit or set equal to the header company_id for a normal single-company line.",
            "title": "Company Id",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "position",
          "item_id",
          "rate",
          "quantity"
        ],
        "title": "PublicVendorCreditItemIn",
        "type": "object"
      },
      "PublicVendorCreditSchemaCreateIn": {
        "description": "Input schema for creating Vendor Credit records.",
        "properties": {
          "ship_from_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaIn"
              },
              {
                "type": "null"
              }
            ]
          },
          "ship_to_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaIn"
              },
              {
                "type": "null"
              }
            ]
          },
          "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_metadata": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RecordTaxMetadata"
              },
              {
                "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"
            ]
          },
          "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": {
          "ship_from_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaIn"
              },
              {
                "type": "null"
              }
            ]
          },
          "ship_to_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaIn"
              },
              {
                "type": "null"
              }
            ]
          },
          "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_metadata": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RecordTaxMetadata"
              },
              {
                "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"
            ]
          },
          "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"
              }
            ]
          },
          "is_billable": {
            "default": false,
            "title": "Is Billable",
            "type": "boolean"
          },
          "billable_customer_id": {
            "title": "Billable Customer Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "billable_customer_name": {
            "title": "Billable Customer Name",
            "type": [
              "string",
              "null"
            ]
          },
          "billable_project_id": {
            "title": "Billable Project Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "billable_project_name": {
            "title": "Billable Project Name",
            "type": [
              "string",
              "null"
            ]
          },
          "billable_markup_pct": {
            "title": "Billable Markup Pct",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,4}0*$",
            "type": [
              "string",
              "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"
            ]
          },
          "company_id": {
            "description": "Optional company for this line. When set to a different company than the record header company_id, DualEntry treats the line as a cross-company (intercompany) allocation and posts IC Due To/From and elimination entries. Omit or set equal to the header company_id for a normal single-company line.",
            "title": "Company Id",
            "type": [
              "integer",
              "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"
      },
      "PublicVendorRefundV2ListFilterSchema": {
        "properties": {
          "search": {
            "title": "Search",
            "type": [
              "string",
              "null"
            ]
          },
          "code": {
            "title": "Code",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "number": {
            "title": "Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "vendor_id": {
            "title": "Vendor Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "vendor_credit_id": {
            "title": "Vendor Credit 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"
            ]
          },
          "transaction_currency": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              {
                "type": "null"
              }
            ]
          },
          "record_status": {
            "title": "Record Status",
            "items": {
              "$ref": "#/components/schemas/RecordStatus"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "updated_after": {
            "title": "Updated After",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_before": {
            "title": "Updated Before",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "title": "PublicVendorRefundV2ListFilterSchema",
        "type": "object"
      },
      "PagedPublicVendorRefundV2ListSchemaOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicVendorRefundV2ListSchemaOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicVendorRefundV2ListSchemaOut",
        "type": "object"
      },
      "PublicVendorRefundV2ListSchemaOut": {
        "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"
          },
          "code": {
            "title": "Code",
            "type": [
              "string",
              "null"
            ]
          },
          "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"
          },
          "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",
          "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": "PublicVendorRefundV2ListSchemaOut",
        "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"
      },
      "PublicVendorRefundV2SchemaOut": {
        "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"
          },
          "code": {
            "title": "Code",
            "type": [
              "string",
              "null"
            ]
          },
          "account_number": {
            "title": "Account Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "items": {
            "default": [],
            "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"
              }
            ]
          },
          "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",
          "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": "PublicVendorRefundV2SchemaOut",
        "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.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.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"
      },
      "PagedPublicVendorRefundItemOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicVendorRefundItemOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicVendorRefundItemOut",
        "type": "object"
      },
      "PagedPublicDirectExpenseCollectionLineOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicDirectExpenseCollectionLineOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicDirectExpenseCollectionLineOut",
        "type": "object"
      },
      "PublicDirectExpenseCollectionLineOut": {
        "properties": {
          "tax": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ItemTaxDataOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "is_billable": {
            "default": false,
            "title": "Is Billable",
            "type": "boolean"
          },
          "billable_customer_id": {
            "title": "Billable Customer Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "billable_project_id": {
            "title": "Billable Project Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "billable_markup_pct": {
            "title": "Billable Markup Pct",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,4}0*$",
            "type": [
              "string",
              "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"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "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"
          },
          "billable_customer_name": {
            "title": "Billable Customer Name",
            "type": [
              "string",
              "null"
            ]
          },
          "billable_project_name": {
            "title": "Billable Project Name",
            "type": [
              "string",
              "null"
            ]
          },
          "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"
            ]
          },
          "direct_expense_number": {
            "title": "Direct Expense Number",
            "type": "integer"
          },
          "direct_expense_date": {
            "format": "date",
            "title": "Direct Expense Date",
            "type": "string"
          },
          "record_status": {
            "$ref": "#/components/schemas/RecordStatus"
          },
          "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",
          "company_id",
          "bank_or_credit_card_amount",
          "direct_expense_number",
          "direct_expense_date",
          "record_status",
          "net_amount",
          "tax_amount",
          "gross_amount",
          "amount"
        ],
        "title": "PublicDirectExpenseCollectionLineOut",
        "type": "object"
      },
      "PublicDirectExpenseV2ListFilterSchema": {
        "properties": {
          "search": {
            "title": "Search",
            "type": [
              "string",
              "null"
            ]
          },
          "code": {
            "title": "Code",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "number": {
            "title": "Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "vendor_id": {
            "title": "Vendor 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"
            ]
          },
          "transaction_currency": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              {
                "type": "null"
              }
            ]
          },
          "record_status": {
            "title": "Record Status",
            "items": {
              "$ref": "#/components/schemas/RecordStatus"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "updated_after": {
            "title": "Updated After",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_before": {
            "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"
          },
          "ship_from_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "ship_to_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "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_metadata": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RecordTaxMetadata"
              },
              {
                "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"
          },
          "code": {
            "title": "Code",
            "type": [
              "string",
              "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"
          },
          "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"
          },
          "ship_from_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "ship_to_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "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_metadata": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RecordTaxMetadata"
              },
              {
                "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"
          },
          "code": {
            "title": "Code",
            "type": [
              "string",
              "null"
            ]
          },
          "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"
              }
            ]
          },
          "is_billable": {
            "default": false,
            "title": "Is Billable",
            "type": "boolean"
          },
          "billable_customer_id": {
            "title": "Billable Customer Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "billable_project_id": {
            "title": "Billable Project Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "billable_markup_pct": {
            "title": "Billable Markup Pct",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,4}0*$",
            "type": [
              "string",
              "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"
            ]
          },
          "company_id": {
            "description": "Optional company for this line. When set to a different company than the record header company_id, DualEntry treats the line as a cross-company (intercompany) allocation and posts IC Due To/From and elimination entries. Omit or set equal to the header company_id for a normal single-company line.",
            "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"
          },
          "billable_customer_name": {
            "title": "Billable Customer Name",
            "type": [
              "string",
              "null"
            ]
          },
          "billable_project_name": {
            "title": "Billable Project Name",
            "type": [
              "string",
              "null"
            ]
          },
          "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": {
          "ship_from_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaIn"
              },
              {
                "type": "null"
              }
            ]
          },
          "ship_to_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaIn"
              },
              {
                "type": "null"
              }
            ]
          },
          "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_metadata": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RecordTaxMetadata"
              },
              {
                "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"
            ]
          },
          "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"
              }
            ]
          },
          "is_billable": {
            "default": false,
            "description": "When true, this line is billable to a customer. Requires billable_customer_id.",
            "title": "Is Billable",
            "type": "boolean"
          },
          "billable_customer_id": {
            "description": "Customer to rebill for this line. Required when is_billable is true. Distinct from customer_id on expense lines.",
            "title": "Billable Customer Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "billable_project_id": {
            "description": "Optional project for the billable line. When set with billable_customer_id, the project must belong to that customer.",
            "title": "Billable Project Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "billable_markup_pct": {
            "anyOf": [
              {
                "maximum": 1000.0,
                "minimum": 0.0,
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,4}0*$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional markup percent for the billable line (0-1000).",
            "title": "Billable Markup Pct"
          },
          "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"
            ]
          },
          "company_id": {
            "description": "Optional company for this line. When set to a different company than the record header company_id, DualEntry treats the line as a cross-company (intercompany) allocation and posts IC Due To/From and elimination entries. Omit or set equal to the header company_id for a normal single-company line.",
            "title": "Company Id",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "position",
          "account_number",
          "rate",
          "quantity"
        ],
        "title": "PublicExpenseItemIn",
        "type": "object"
      },
      "PublicDirectExpenseSchemaUpdateIn": {
        "description": "Input schema for updating DirectExpense records.",
        "properties": {
          "ship_from_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaIn"
              },
              {
                "type": "null"
              }
            ]
          },
          "ship_to_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaIn"
              },
              {
                "type": "null"
              }
            ]
          },
          "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_metadata": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RecordTaxMetadata"
              },
              {
                "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"
            ]
          },
          "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"
            ]
          },
          "code": {
            "title": "Code",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "number": {
            "title": "Number",
            "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"
            ]
          },
          "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": {
            "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": {
            "title": "Updated After",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_before": {
            "title": "Updated Before",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "title": "PublicBankTransferListFilterSchema",
        "type": "object"
      },
      "BaseCurrencyAnchor": {
        "enum": [
          "sending",
          "receiving"
        ],
        "title": "BaseCurrencyAnchor",
        "type": "string"
      },
      "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"
          },
          "code": {
            "title": "Code",
            "type": [
              "string",
              "null"
            ]
          },
          "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"
          },
          "calculate_gain_loss": {
            "default": true,
            "title": "Calculate Gain Loss",
            "type": "boolean"
          },
          "base_currency_anchor": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/BaseCurrencyAnchor"
              },
              {
                "type": "null"
              }
            ]
          },
          "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.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"
          },
          "calculate_gain_loss": {
            "default": true,
            "title": "Calculate Gain Loss",
            "type": "boolean"
          },
          "base_currency_anchor": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/BaseCurrencyAnchor"
              },
              {
                "type": "null"
              }
            ]
          },
          "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"
          },
          "calculate_gain_loss": {
            "default": true,
            "title": "Calculate Gain Loss",
            "type": "boolean"
          },
          "base_currency_anchor": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/BaseCurrencyAnchor"
              },
              {
                "type": "null"
              }
            ]
          },
          "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"
      },
      "Origin": {
        "enum": [
          "manual",
          "integration",
          "initial_sync"
        ],
        "title": "Origin",
        "type": "string"
      },
      "PagedPublicStatisticalJournalCollectionLineOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicStatisticalJournalCollectionLineOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicStatisticalJournalCollectionLineOut",
        "type": "object"
      },
      "PublicStatisticalJournalCollectionLineOut": {
        "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"
          },
          "statistical_journal_number": {
            "title": "Statistical Journal Number",
            "type": "integer"
          },
          "statistical_journal_date": {
            "format": "date",
            "title": "Statistical Journal Date",
            "type": "string"
          },
          "record_status": {
            "$ref": "#/components/schemas/RecordStatus"
          }
        },
        "required": [
          "id",
          "value",
          "position",
          "memo",
          "classifications",
          "statistical_journal_number",
          "statistical_journal_date",
          "record_status"
        ],
        "title": "PublicStatisticalJournalCollectionLineOut",
        "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"
      },
      "PublicStatisticalJournalV2ListFilterSchema": {
        "properties": {
          "search": {
            "title": "Search",
            "type": [
              "string",
              "null"
            ]
          },
          "number": {
            "title": "Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "account_id": {
            "title": "Account Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "account_number": {
            "title": "Account Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "line_account_id": {
            "title": "Line Account Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "line_account_number": {
            "title": "Line Account Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "period_start": {
            "title": "Period Start",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "period_end": {
            "title": "Period End",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "date_start": {
            "title": "Date Start",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "date_end": {
            "title": "Date End",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "record_status": {
            "title": "Record Status",
            "items": {
              "$ref": "#/components/schemas/RecordStatus"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "updated_after": {
            "title": "Updated After",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_before": {
            "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"
      },
      "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": {
            "title": "Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "number": {
            "title": "Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "recurring_type": {
            "title": "Recurring Type",
            "items": {
              "$ref": "#/components/schemas/RecurringType"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "updated_after": {
            "title": "Updated After",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_before": {
            "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"
      },
      "PublicRecurringBillListFilterSchema": {
        "properties": {
          "search": {
            "title": "Search",
            "type": [
              "string",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "number": {
            "title": "Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "recurring_type": {
            "title": "Recurring Type",
            "items": {
              "$ref": "#/components/schemas/RecurringType"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "updated_after": {
            "title": "Updated After",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_before": {
            "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": {
            "title": "Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "number": {
            "title": "Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "recurring_type": {
            "title": "Recurring Type",
            "items": {
              "$ref": "#/components/schemas/RecurringType"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "updated_after": {
            "title": "Updated After",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_before": {
            "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"
            ]
          },
          "updated_after": {
            "title": "Updated After",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_before": {
            "title": "Updated Before",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "code": {
            "title": "Code",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "id": {
            "title": "Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "name": {
            "title": "Name",
            "type": [
              "string",
              "null"
            ]
          },
          "parent_company_id": {
            "title": "Parent Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "currency_iso_4217_code": {
            "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": {
          "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"
          },
          "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"
          },
          "code": {
            "title": "Code",
            "type": [
              "string",
              "null"
            ]
          },
          "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": [
          "created_at",
          "updated_at",
          "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": {
            "title": "Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "excluded_id": {
            "description": "Account IDs to exclude from the response. Combines with id (include set minus excluded set).",
            "title": "Excluded Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "name": {
            "title": "Name",
            "type": [
              "string",
              "null"
            ]
          },
          "description": {
            "title": "Description",
            "type": [
              "string",
              "null"
            ]
          },
          "number": {
            "title": "Number",
            "type": [
              "integer",
              "null"
            ]
          },
          "account_types": {
            "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": {
            "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": {
            "title": "Category 1099",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "ebitda_category": {
            "title": "Ebitda Category",
            "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": {
            "title": "Numbers",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "names": {
            "title": "Names",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "system_ref": {
            "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": {
            "title": "Start Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "end_date": {
            "title": "End Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_after": {
            "title": "Updated After",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_before": {
            "title": "Updated Before",
            "format": "date-time",
            "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",
          "Inventory Shrinkage"
        ],
        "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_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"
          },
          "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": [
          "created_at",
          "updated_at",
          "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"
      },
      "PublicAccountBalanceFilterSchema": {
        "properties": {
          "company_id": {
            "description": "Company to report on. Balances are in this company's base currency.",
            "title": "Company Id",
            "type": "integer"
          },
          "as_of_date": {
            "description": "Report date. Balance-sheet accounts report through this date; income-statement accounts report from the fiscal year start.",
            "format": "date",
            "title": "As Of Date",
            "type": "string"
          }
        },
        "required": [
          "company_id",
          "as_of_date"
        ],
        "title": "PublicAccountBalanceFilterSchema",
        "type": "object"
      },
      "PagedPublicAccountBalanceSchemaOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicAccountBalanceSchemaOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicAccountBalanceSchemaOut",
        "type": "object"
      },
      "PublicAccountBalanceSchemaOut": {
        "properties": {
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "company_name": {
            "title": "Company Name",
            "type": "string"
          },
          "account_id": {
            "title": "Account Id",
            "type": "integer"
          },
          "account_number": {
            "title": "Account Number",
            "type": "integer"
          },
          "account_name": {
            "title": "Account Name",
            "type": "string"
          },
          "account_type": {
            "$ref": "#/components/schemas/AccountType",
            "description": "Income-statement types carry a fiscal-year-to-date balance. All other types carry a balance as of the report date."
          },
          "as_of_date": {
            "format": "date",
            "title": "As Of Date",
            "type": "string"
          },
          "balance": {
            "description": "Balance in the company's base currency. A debit balance is positive, a credit balance is negative.",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
            "title": "Balance",
            "type": "string"
          },
          "currency": {
            "description": "The company's base currency.",
            "title": "Currency",
            "type": "string"
          }
        },
        "required": [
          "company_id",
          "company_name",
          "account_id",
          "account_number",
          "account_name",
          "account_type",
          "as_of_date",
          "balance",
          "currency"
        ],
        "title": "PublicAccountBalanceSchemaOut",
        "type": "object"
      },
      "BudgetTypes": {
        "enum": [
          "income_statement",
          "balance_sheet"
        ],
        "title": "BudgetTypes",
        "type": "string"
      },
      "PublicBudgetListFilterSchema": {
        "properties": {
          "search": {
            "title": "Search",
            "type": [
              "string",
              "null"
            ]
          },
          "code": {
            "title": "Code",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "budget_type": {
            "title": "Budget Type",
            "items": {
              "$ref": "#/components/schemas/BudgetTypes"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "calendar_year": {
            "title": "Calendar Year",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "record_status": {
            "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"
          },
          "code": {
            "title": "Code",
            "type": [
              "string",
              "null"
            ]
          },
          "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"
      },
      "ContractStatusFilter": {
        "description": "Filter-only enum that extends ContractStatus with virtual statuses.",
        "enum": [
          "draft",
          "review",
          "active",
          "completed",
          "terminated",
          "archived"
        ],
        "title": "ContractStatusFilter",
        "type": "string"
      },
      "PublicContractListFilterSchema": {
        "properties": {
          "integration_sources": {
            "title": "Integration Sources",
            "items": {
              "$ref": "#/components/schemas/IntegrationSourceSlug"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "search": {
            "title": "Search",
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "title": "Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "number": {
            "title": "Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "customer_id": {
            "title": "Customer Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "status": {
            "title": "Status",
            "items": {
              "$ref": "#/components/schemas/ContractStatusFilter"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "start_date": {
            "title": "Start Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "end_date": {
            "title": "End Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "contract_start_date": {
            "title": "Contract Start Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "contract_end_date": {
            "title": "Contract End Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "approval_status": {
            "title": "Approval Status",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "recognition_mode": {
            "title": "Recognition Mode",
            "items": {
              "$ref": "#/components/schemas/RecognitionMode"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "recognition_strategy": {
            "title": "Recognition Strategy",
            "items": {
              "$ref": "#/components/schemas/RecognitionStrategy"
            },
            "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"
            ]
          },
          "updated_after": {
            "title": "Updated After",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_before": {
            "title": "Updated Before",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "title": "PublicContractListFilterSchema",
        "type": "object"
      },
      "RecognitionMode": {
        "enum": [
          "individual",
          "subledger"
        ],
        "title": "RecognitionMode",
        "type": "string"
      },
      "RecognitionStrategy": {
        "enum": [
          "straight_line",
          "straight_line_start_end_even",
          "daily_prorata",
          "milestone",
          "usage_tiered",
          "usage",
          "immediate",
          "deposit_release"
        ],
        "title": "RecognitionStrategy",
        "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 \u2014 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": {
            "title": "Effective Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "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"
          },
          "is_incomplete": {
            "title": "Is Incomplete",
            "type": "boolean"
          },
          "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",
          "is_incomplete"
        ],
        "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",
              "null"
            ]
          },
          "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"
          }
        },
        "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"
          },
          "code": {
            "title": "Code",
            "type": [
              "string",
              "null"
            ]
          },
          "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"
      },
      "BillingMode": {
        "enum": [
          "period",
          "synced",
          "drawdown"
        ],
        "title": "BillingMode",
        "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 \u2014 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"
          },
          "billing_mode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BillingMode"
              }
            ],
            "default": "period"
          },
          "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"
            ]
          },
          "ramp_group_id": {
            "title": "Ramp Group Id",
            "format": "uuid",
            "type": [
              "string",
              "null"
            ]
          },
          "prepaid_invoiced": {
            "title": "Prepaid Invoiced",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "type": [
              "string",
              "null"
            ]
          },
          "prepaid_recognized": {
            "title": "Prepaid Recognized",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "type": [
              "string",
              "null"
            ]
          },
          "prepaid_remaining": {
            "title": "Prepaid Remaining",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "type": [
              "string",
              "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"
      },
      "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.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.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"
              }
            ]
          },
          "tax_metadata": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RecordTaxMetadata"
              },
              {
                "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"
          },
          "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"
          },
          "items": {
            "title": "Items",
            "items": {
              "$ref": "#/components/schemas/InvoiceItemIn"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "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"
      },
      "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": {
            "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": {
            "default": 0,
            "title": "Position",
            "type": "integer"
          },
          "memo": {
            "default": "",
            "maxLength": 512,
            "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": {
            "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"
            ]
          },
          "billing_mode": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/BillingMode"
              },
              {
                "type": "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": {
            "title": "Discount Value",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}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"
          },
          "ramp_group_id": {
            "title": "Ramp Group Id",
            "format": "uuid",
            "type": [
              "string",
              "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"
          }
        },
        "required": [
          "is_incomplete",
          "amount",
          "discount_amount",
          "net_amount"
        ],
        "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"
      },
      "ContractSchemaUpdateIn": {
        "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.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.0,
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Default Early Termination Fee"
          }
        },
        "required": [
          "status"
        ],
        "title": "ContractSchemaUpdateIn",
        "type": "object"
      },
      "PublicContractSchemaPatchIn": {
        "properties": {
          "custom_fields": {
            "title": "Custom Fields",
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "memo": {
            "title": "Memo",
            "type": [
              "string",
              "null"
            ]
          },
          "date": {
            "title": "Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "start_date": {
            "title": "Start Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "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": {
            "title": "Name",
            "type": [
              "string",
              "null"
            ]
          },
          "currency_iso_4217_code": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              {
                "type": "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"
              }
            ]
          },
          "obligations": {
            "title": "Obligations",
            "items": {
              "$ref": "#/components/schemas/PerformanceObligationIn"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "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": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/BillingCadence"
              },
              {
                "type": "null"
              }
            ]
          },
          "billing_interval": {
            "title": "Billing Interval",
            "type": [
              "integer",
              "null"
            ]
          },
          "billing_anchor_weekday": {
            "title": "Billing Anchor Weekday",
            "type": [
              "integer",
              "null"
            ]
          },
          "recognition_start_date": {
            "title": "Recognition Start Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "recognition_frequency": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RecognitionCadence"
              },
              {
                "type": "null"
              }
            ]
          },
          "recognition_interval": {
            "title": "Recognition Interval",
            "type": [
              "integer",
              "null"
            ]
          },
          "recognition_anchor_weekday": {
            "title": "Recognition Anchor Weekday",
            "type": [
              "integer",
              "null"
            ]
          },
          "status": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ContractStatus"
              },
              {
                "type": "null"
              }
            ]
          },
          "recognition_mode": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RecognitionMode"
              },
              {
                "type": "null"
              }
            ]
          },
          "contract_attachments": {
            "title": "Contract Attachments",
            "items": {
              "$ref": "#/components/schemas/AttachmentSchemaOut"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "change_orders_attachments": {
            "title": "Change Orders Attachments",
            "items": {
              "$ref": "#/components/schemas/AttachmentSchemaOut"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "payment": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PaymentSchemaIn"
              },
              {
                "type": "null"
              }
            ]
          },
          "cutover_date": {
            "title": "Cutover Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "prior_recognized_amount": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Prior Recognized Amount"
          },
          "default_early_termination_fee": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Default Early Termination Fee"
          }
        },
        "title": "PublicContractSchemaPatchIn",
        "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.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"
      },
      "PublicContractChangeOrderListFilterSchema": {
        "properties": {
          "search": {
            "title": "Search",
            "type": [
              "string",
              "null"
            ]
          },
          "code": {
            "title": "Code",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "id": {
            "title": "Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "contract_id": {
            "title": "Contract Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "number": {
            "title": "Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "record_status": {
            "title": "Record Status",
            "items": {
              "$ref": "#/components/schemas/RecordStatus"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "start_date": {
            "title": "Start Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "end_date": {
            "title": "End Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_after": {
            "title": "Updated After",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_before": {
            "title": "Updated Before",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "title": "PublicContractChangeOrderListFilterSchema",
        "type": "object"
      },
      "ContractChangeOrderListSchemaOut": {
        "properties": {
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "number": {
            "title": "Number",
            "type": "integer"
          },
          "code": {
            "title": "Code",
            "type": [
              "string",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "company_name": {
            "title": "Company Name",
            "type": "string"
          },
          "contract_id": {
            "title": "Contract Id",
            "type": "integer"
          },
          "contract_name": {
            "title": "Contract Name",
            "type": "string"
          },
          "effective_date": {
            "title": "Effective Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "memo": {
            "title": "Memo",
            "type": [
              "string",
              "null"
            ]
          },
          "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"
            ]
          },
          "record_status": {
            "$ref": "#/components/schemas/RecordStatus"
          },
          "is_incomplete": {
            "title": "Is Incomplete",
            "type": "boolean"
          },
          "obligation_modifications": {
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "title": "Obligation Modifications",
            "type": "array"
          },
          "obligation_additions": {
            "items": {
              "$ref": "#/components/schemas/PerformanceObligationIn"
            },
            "title": "Obligation Additions",
            "type": "array"
          }
        },
        "required": [
          "id",
          "number",
          "company_id",
          "company_name",
          "contract_id",
          "contract_name",
          "effective_date",
          "memo",
          "apply_cumulative_catchup",
          "transaction_id",
          "record_status",
          "is_incomplete",
          "obligation_modifications",
          "obligation_additions"
        ],
        "title": "ContractChangeOrderListSchemaOut",
        "type": "object"
      },
      "PagedContractChangeOrderListSchemaOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/ContractChangeOrderListSchemaOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedContractChangeOrderListSchemaOut",
        "type": "object"
      },
      "ContractChangeOrderSchemaOut": {
        "properties": {
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "number": {
            "title": "Number",
            "type": "integer"
          },
          "code": {
            "title": "Code",
            "type": [
              "string",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "type": "integer"
          },
          "company_name": {
            "title": "Company Name",
            "type": "string"
          },
          "contract_id": {
            "title": "Contract Id",
            "type": "integer"
          },
          "contract_name": {
            "title": "Contract Name",
            "type": "string"
          },
          "effective_date": {
            "title": "Effective Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "memo": {
            "title": "Memo",
            "type": [
              "string",
              "null"
            ]
          },
          "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"
            ]
          },
          "record_status": {
            "$ref": "#/components/schemas/RecordStatus"
          },
          "is_incomplete": {
            "title": "Is Incomplete",
            "type": "boolean"
          },
          "obligation_modifications": {
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "title": "Obligation Modifications",
            "type": "array"
          },
          "obligation_additions": {
            "items": {
              "$ref": "#/components/schemas/PerformanceObligationIn"
            },
            "title": "Obligation Additions",
            "type": "array"
          },
          "change_summary": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/ObligationChangeSummary"
            },
            "title": "Change Summary",
            "type": "array"
          }
        },
        "required": [
          "id",
          "number",
          "company_id",
          "company_name",
          "contract_id",
          "contract_name",
          "effective_date",
          "memo",
          "apply_cumulative_catchup",
          "transaction_id",
          "record_status",
          "is_incomplete",
          "obligation_modifications",
          "obligation_additions"
        ],
        "title": "ContractChangeOrderSchemaOut",
        "type": "object"
      },
      "ObligationChangeSummary": {
        "properties": {
          "predecessor": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PerformanceObligationOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "successor": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PerformanceObligationOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "type": {
            "$ref": "#/components/schemas/ObligationChangeType"
          },
          "changes": {
            "additionalProperties": {
              "$ref": "#/components/schemas/ObligationFieldChange"
            },
            "default": {},
            "title": "Changes",
            "type": "object"
          }
        },
        "required": [
          "type"
        ],
        "title": "ObligationChangeSummary",
        "type": "object"
      },
      "ObligationChangeType": {
        "enum": [
          "MODIFICATION",
          "CANCELLATION",
          "ADDITION"
        ],
        "title": "ObligationChangeType",
        "type": "string"
      },
      "ObligationFieldChange": {
        "properties": {
          "old_value": {
            "title": "Old Value",
            "type": [
              "string",
              "null"
            ]
          },
          "new_value": {
            "title": "New Value",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "title": "ObligationFieldChange",
        "type": "object"
      },
      "ChangeOrderQuantityBasis": {
        "enum": [
          "remaining",
          "full"
        ],
        "title": "ChangeOrderQuantityBasis",
        "type": "string"
      },
      "PublicContractChangeOrderObligationAdditionIn": {
        "properties": {
          "id": {
            "title": "Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "item_id": {
            "minimum": 1,
            "title": "Item Id",
            "type": "integer"
          },
          "quantity": {
            "anyOf": [
              {
                "minimum": 0.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"
              }
            ],
            "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"
            ]
          },
          "billing_mode": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/BillingMode"
              },
              {
                "type": "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.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"
          },
          "ramp_group_id": {
            "title": "Ramp Group Id",
            "format": "uuid",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "item_id",
          "quantity",
          "rate"
        ],
        "title": "PublicContractChangeOrderObligationAdditionIn",
        "type": "object"
      },
      "PublicContractChangeOrderObligationModificationIn": {
        "properties": {
          "obligation_id": {
            "title": "Obligation Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "quantity": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Quantity"
          },
          "quantity_basis": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ChangeOrderQuantityBasis"
              },
              {
                "type": "null"
              }
            ]
          },
          "rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Rate"
          },
          "item_id": {
            "title": "Item Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "memo": {
            "title": "Memo",
            "type": [
              "string",
              "null"
            ]
          },
          "discount_type": {
            "title": "Discount Type",
            "type": [
              "string",
              "null"
            ]
          },
          "discount_value": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Discount Value"
          },
          "standalone_selling_price": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Standalone Selling Price"
          },
          "obligation_conditions": {
            "title": "Obligation Conditions",
            "additionalProperties": true,
            "type": [
              "object",
              "null"
            ]
          },
          "cancel": {
            "default": false,
            "title": "Cancel",
            "type": "boolean"
          }
        },
        "title": "PublicContractChangeOrderObligationModificationIn",
        "type": "object"
      },
      "PublicContractChangeOrderSchemaCreateIn": {
        "properties": {
          "effective_date": {
            "format": "date",
            "title": "Effective Date",
            "type": "string"
          },
          "memo": {
            "default": "",
            "title": "Memo",
            "type": "string"
          },
          "apply_cumulative_catchup": {
            "default": false,
            "title": "Apply Cumulative Catchup",
            "type": "boolean"
          },
          "obligation_modifications": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicContractChangeOrderObligationModificationIn"
            },
            "title": "Obligation Modifications",
            "type": "array"
          },
          "obligation_additions": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicContractChangeOrderObligationAdditionIn"
            },
            "title": "Obligation Additions",
            "type": "array"
          }
        },
        "required": [
          "effective_date"
        ],
        "title": "PublicContractChangeOrderSchemaCreateIn",
        "type": "object"
      },
      "PublicContractChangeOrderSchemaUpdateIn": {
        "properties": {
          "effective_date": {
            "format": "date",
            "title": "Effective Date",
            "type": "string"
          },
          "memo": {
            "default": "",
            "title": "Memo",
            "type": "string"
          },
          "apply_cumulative_catchup": {
            "default": false,
            "title": "Apply Cumulative Catchup",
            "type": "boolean"
          },
          "obligation_modifications": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicContractChangeOrderObligationModificationIn"
            },
            "title": "Obligation Modifications",
            "type": "array"
          },
          "obligation_additions": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PublicContractChangeOrderObligationAdditionIn"
            },
            "title": "Obligation Additions",
            "type": "array"
          },
          "record_status": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RecordStatus"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "effective_date"
        ],
        "title": "PublicContractChangeOrderSchemaUpdateIn",
        "type": "object"
      },
      "ObligationUsageListSchemaOut": {
        "description": "V2 list output schema. Resolves invoice_status from the annotation and classifications from prefetched lines.",
        "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": "ObligationUsageListSchemaOut",
        "type": "object"
      },
      "PagedObligationUsageListSchemaOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/ObligationUsageListSchemaOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedObligationUsageListSchemaOut",
        "type": "object"
      },
      "CustomerListFilterSchema": {
        "properties": {
          "search": {
            "title": "Search",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_after": {
            "title": "Updated After",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_before": {
            "title": "Updated Before",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "code": {
            "title": "Code",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "id": {
            "title": "Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "customer_type": {
            "title": "Customer Type",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "name": {
            "title": "Name",
            "type": [
              "string",
              "null"
            ]
          },
          "name_exact": {
            "title": "Name Exact",
            "type": [
              "string",
              "null"
            ]
          },
          "unique_id": {
            "title": "Unique Id",
            "type": [
              "string",
              "null"
            ]
          },
          "email": {
            "title": "Email",
            "type": [
              "string",
              "null"
            ]
          },
          "website": {
            "title": "Website",
            "type": [
              "string",
              "null"
            ]
          },
          "address": {
            "title": "Address",
            "type": [
              "string",
              "null"
            ]
          },
          "country": {
            "title": "Country",
            "items": {
              "$ref": "#/components/schemas/SystemCountries"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "state": {
            "title": "State",
            "type": [
              "string",
              "null"
            ]
          },
          "phone": {
            "title": "Phone",
            "type": [
              "string",
              "null"
            ]
          },
          "record_status": {
            "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": {
          "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"
          },
          "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"
          },
          "code": {
            "title": "Code",
            "type": [
              "string",
              "null"
            ]
          },
          "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"
          },
          "allowed_company_ids": {
            "default": [],
            "items": {
              "type": "integer"
            },
            "title": "Allowed Company Ids",
            "type": "array"
          }
        },
        "required": [
          "created_at",
          "updated_at",
          "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": {
          "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"
          },
          "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"
          },
          "code": {
            "title": "Code",
            "type": [
              "string",
              "null"
            ]
          },
          "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"
              }
            ]
          },
          "allowed_company_ids": {
            "default": [],
            "items": {
              "type": "integer"
            },
            "title": "Allowed Company Ids",
            "type": "array"
          }
        },
        "required": [
          "created_at",
          "updated_at",
          "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": "(?i)^(?:[0-9\\s+\\-.\\(\\)]*|[0-9\\s+\\-.\\(\\)]+(?:\\s*(?:x|ext\\.?|extension)\\s*\\d+))$",
            "title": "Phone",
            "type": "string"
          },
          "website": {
            "title": "Website",
            "type": "string"
          },
          "is_taxable": {
            "default": false,
            "description": "Whether tax is calculated for this customer. Set to false to mark the customer as tax-exempt.",
            "title": "Is Taxable",
            "type": "boolean"
          },
          "full_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaIn"
              },
              {
                "type": "null"
              }
            ]
          },
          "shipping_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSchemaIn"
              },
              {
                "type": "null"
              }
            ]
          },
          "allowed_company_ids": {
            "description": "Company IDs allowed to use this customer. Empty list means global (all companies).",
            "title": "Allowed Company Ids",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "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": "(?i)^(?:[0-9\\s+\\-.\\(\\)]*|[0-9\\s+\\-.\\(\\)]+(?:\\s*(?:x|ext\\.?|extension)\\s*\\d+))$",
            "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"
              }
            ]
          },
          "is_active": {
            "title": "Is Active",
            "type": [
              "boolean",
              "null"
            ]
          },
          "record_status": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RecordStatus"
              },
              {
                "type": "null"
              }
            ]
          },
          "is_taxable": {
            "description": "Whether tax is calculated for this customer. Set to false to mark the customer as tax-exempt.",
            "title": "Is Taxable",
            "type": [
              "boolean",
              "null"
            ]
          },
          "allowed_company_ids": {
            "description": "Company IDs allowed to use this customer. Empty list means global (all companies). Omit or send null to leave unchanged.",
            "title": "Allowed Company Ids",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "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": "(?i)^(?:[0-9\\s+\\-.\\(\\)]*|[0-9\\s+\\-.\\(\\)]+(?:\\s*(?:x|ext\\.?|extension)\\s*\\d+))$",
            "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"
              }
            ]
          },
          "is_active": {
            "title": "Is Active",
            "type": [
              "boolean",
              "null"
            ]
          },
          "record_status": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RecordStatus"
              },
              {
                "type": "null"
              }
            ]
          },
          "is_taxable": {
            "description": "Whether tax is calculated for this customer. Set to false to mark the customer as tax-exempt.",
            "title": "Is Taxable",
            "type": [
              "boolean",
              "null"
            ]
          },
          "allowed_company_ids": {
            "description": "Company IDs allowed to use this customer. Empty list means global (all companies). Omit or send null to leave unchanged.",
            "title": "Allowed Company Ids",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "title": "CustomerSchemaPatchIn",
        "type": "object"
      },
      "ItemTypes": {
        "enum": [
          "service",
          "discount"
        ],
        "title": "ItemTypes",
        "type": "string"
      },
      "PublicItemListFilterSchema": {
        "properties": {
          "search": {
            "title": "Search",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_after": {
            "title": "Updated After",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_before": {
            "title": "Updated Before",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "code": {
            "title": "Code",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "id": {
            "title": "Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "name": {
            "title": "Name",
            "type": [
              "string",
              "null"
            ]
          },
          "item_type": {
            "title": "Item Type",
            "items": {
              "$ref": "#/components/schemas/ItemTypes"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "no_income_account": {
            "title": "No Income Account",
            "type": [
              "boolean",
              "null"
            ]
          },
          "no_expense_account": {
            "title": "No Expense Account",
            "type": [
              "boolean",
              "null"
            ]
          },
          "no_deferral_account": {
            "title": "No Deferral Account",
            "type": [
              "boolean",
              "null"
            ]
          },
          "no_asset_account": {
            "title": "No Asset Account",
            "type": [
              "boolean",
              "null"
            ]
          },
          "no_discount_account": {
            "title": "No Discount Account",
            "type": [
              "boolean",
              "null"
            ]
          },
          "expense_account_id": {
            "title": "Expense Account Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "income_account_id": {
            "title": "Income Account Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "deferral_account_id": {
            "title": "Deferral Account Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "asset_account_id": {
            "title": "Asset Account Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "product_tax_code_id": {
            "title": "Product Tax Code Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "discount_account_id": {
            "title": "Discount Account Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "is_active": {
            "title": "Is Active",
            "type": [
              "boolean",
              "null"
            ]
          },
          "record_status": {
            "title": "Record Status",
            "items": {
              "$ref": "#/components/schemas/RecordStatus"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "title": "PublicItemListFilterSchema",
        "type": "object"
      },
      "CostingMethod": {
        "enum": [
          "fifo",
          "weighted_average"
        ],
        "title": "CostingMethod",
        "type": "string"
      },
      "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_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"
          },
          "created_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "updated_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "code": {
            "title": "Code",
            "type": [
              "string",
              "null"
            ]
          },
          "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"
            ]
          },
          "default_standalone_selling_price": {
            "title": "Default Standalone Selling Price",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
            "type": [
              "string",
              "null"
            ]
          },
          "default_standalone_selling_price_currency_iso_4217_code": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              {
                "type": "null"
              }
            ]
          },
          "default_standalone_selling_price_exchange_rate": {
            "title": "Default Standalone Selling Price Exchange Rate",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
            "type": [
              "string",
              "null"
            ]
          },
          "costing_method": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/CostingMethod"
              },
              {
                "type": "null"
              }
            ]
          },
          "stock_unit": {
            "title": "Stock Unit",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "created_at",
          "updated_at",
          "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"
            ]
          },
          "default_standalone_selling_price": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Default Standalone Selling Price"
          },
          "default_standalone_selling_price_currency_iso_4217_code": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              {
                "const": "",
                "type": "string"
              }
            ],
            "default": "",
            "title": "Default Standalone Selling Price Currency Iso 4217 Code"
          },
          "costing_method": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/CostingMethod"
              },
              {
                "type": "null"
              }
            ]
          },
          "stock_unit": {
            "title": "Stock Unit",
            "maxLength": 16,
            "type": [
              "string",
              "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"
            ]
          },
          "default_standalone_selling_price": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Default Standalone Selling Price"
          },
          "default_standalone_selling_price_currency_iso_4217_code": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              {
                "const": "",
                "type": "string"
              }
            ],
            "default": "",
            "title": "Default Standalone Selling Price Currency Iso 4217 Code"
          },
          "costing_method": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/CostingMethod"
              },
              {
                "type": "null"
              }
            ]
          },
          "stock_unit": {
            "title": "Stock Unit",
            "maxLength": 16,
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "name",
          "is_active",
          "sku",
          "item_type"
        ],
        "title": "PublicItemSchemaUpdateIn",
        "type": "object"
      },
      "PublicItemSchemaPatchIn": {
        "properties": {
          "name": {
            "title": "Name",
            "maxLength": 256,
            "minLength": 2,
            "type": [
              "string",
              "null"
            ]
          },
          "is_active": {
            "title": "Is Active",
            "type": [
              "boolean",
              "null"
            ]
          },
          "sku": {
            "title": "Sku",
            "maxLength": 64,
            "minLength": 1,
            "type": [
              "string",
              "null"
            ]
          },
          "description": {
            "title": "Description",
            "maxLength": 512,
            "minLength": 0,
            "type": [
              "string",
              "null"
            ]
          },
          "item_type": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ItemTypes"
              },
              {
                "type": "null"
              }
            ]
          },
          "record_status": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RecordStatus"
              },
              {
                "type": "null"
              }
            ]
          },
          "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"
            ]
          },
          "default_standalone_selling_price": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Default Standalone Selling Price"
          },
          "default_standalone_selling_price_currency_iso_4217_code": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              {
                "const": "",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Default Standalone Selling Price Currency Iso 4217 Code"
          },
          "costing_method": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/CostingMethod"
              },
              {
                "type": "null"
              }
            ]
          },
          "stock_unit": {
            "title": "Stock Unit",
            "maxLength": 16,
            "type": [
              "string",
              "null"
            ]
          }
        },
        "title": "PublicItemSchemaPatchIn",
        "type": "object"
      },
      "ListView": {
        "enum": [
          "compact"
        ],
        "title": "ListView",
        "type": "string"
      },
      "PublicVendorListFilterSchema": {
        "properties": {
          "search": {
            "title": "Search",
            "type": [
              "string",
              "null"
            ]
          },
          "code": {
            "title": "Code",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "id": {
            "title": "Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "vendor_type": {
            "title": "Vendor Type",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "name": {
            "title": "Name",
            "type": [
              "string",
              "null"
            ]
          },
          "unique_id": {
            "title": "Unique Id",
            "type": [
              "string",
              "null"
            ]
          },
          "email": {
            "title": "Email",
            "type": [
              "string",
              "null"
            ]
          },
          "website": {
            "title": "Website",
            "type": [
              "string",
              "null"
            ]
          },
          "single_address": {
            "title": "Single Address",
            "type": [
              "string",
              "null"
            ]
          },
          "country": {
            "title": "Country",
            "items": {
              "$ref": "#/components/schemas/SystemCountries"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "state": {
            "title": "State",
            "type": [
              "string",
              "null"
            ]
          },
          "phone": {
            "title": "Phone",
            "type": [
              "string",
              "null"
            ]
          },
          "is_active": {
            "title": "Is Active",
            "type": [
              "boolean",
              "null"
            ]
          },
          "is_1099_eligible": {
            "title": "Is 1099 Eligible",
            "type": [
              "boolean",
              "null"
            ]
          },
          "tin": {
            "title": "Tin",
            "type": [
              "string",
              "null"
            ]
          },
          "record_status": {
            "title": "Record Status",
            "items": {
              "$ref": "#/components/schemas/RecordStatus"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "exclude_company_id": {
            "title": "Exclude Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "names": {
            "title": "Names",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "start_date": {
            "title": "Start Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "end_date": {
            "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"
              }
            ]
          },
          "company_id_access": {
            "title": "Company Id Access",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "updated_after": {
            "title": "Updated After",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_before": {
            "title": "Updated Before",
            "format": "date-time",
            "type": [
              "string",
              "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": {
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "updated_at": {
            "format": "date-time",
            "title": "Updated At",
            "type": "string"
          },
          "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"
          },
          "code": {
            "title": "Code",
            "type": [
              "string",
              "null"
            ]
          },
          "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"
          },
          "allowed_company_ids": {
            "default": [],
            "items": {
              "type": "integer"
            },
            "title": "Allowed Company Ids",
            "type": "array"
          },
          "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": [
          "created_at",
          "updated_at",
          "id",
          "address",
          "vendor_type",
          "name"
        ],
        "title": "PublicVendorListSchemaOut",
        "type": "object"
      },
      "BankAccountType": {
        "enum": [
          "checking",
          "savings"
        ],
        "title": "BankAccountType",
        "type": "string"
      },
      "PublicVendorSchemaOut": {
        "properties": {
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "updated_at": {
            "format": "date-time",
            "title": "Updated At",
            "type": "string"
          },
          "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"
          },
          "code": {
            "title": "Code",
            "type": [
              "string",
              "null"
            ]
          },
          "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"
          },
          "allowed_company_ids": {
            "default": [],
            "items": {
              "type": "integer"
            },
            "title": "Allowed Company Ids",
            "type": "array"
          },
          "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": [
          "created_at",
          "updated_at",
          "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": "(?i)^(?:[0-9\\s+\\-.\\(\\)]*|[0-9\\s+\\-.\\(\\)]+(?:\\s*(?:x|ext\\.?|extension)\\s*\\d+))$",
            "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"
          },
          "allowed_company_ids": {
            "description": "Company IDs allowed to use this vendor. Empty list means global (all companies).",
            "title": "Allowed Company Ids",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "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": "(?i)^(?:[0-9\\s+\\-.\\(\\)]*|[0-9\\s+\\-.\\(\\)]+(?:\\s*(?:x|ext\\.?|extension)\\s*\\d+))$",
            "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"
          },
          "allowed_company_ids": {
            "description": "Company IDs allowed to use this vendor. Empty list means global (all companies). Omit or send null to leave unchanged.",
            "title": "Allowed Company Ids",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "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": "(?i)^(?:[0-9\\s+\\-.\\(\\)]*|[0-9\\s+\\-.\\(\\)]+(?:\\s*(?:x|ext\\.?|extension)\\s*\\d+))$",
            "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"
          },
          "allowed_company_ids": {
            "description": "Company IDs allowed to use this vendor. Empty list means global (all companies). Omit or send null to leave unchanged.",
            "title": "Allowed Company Ids",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "title": "PublicVendorSchemaPatchIn",
        "type": "object"
      },
      "PublicClassificationListFilterSchema": {
        "properties": {
          "search": {
            "title": "Search",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_after": {
            "title": "Updated After",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_before": {
            "title": "Updated Before",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "code": {
            "title": "Code",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "id": {
            "title": "Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "name": {
            "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_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"
          },
          "created_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "updated_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditActorSchemaOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "code": {
            "title": "Code",
            "type": [
              "string",
              "null"
            ]
          },
          "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": [
          "created_at",
          "updated_at",
          "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 \u2192 existing classification lines are preserved.\n  Sending `[]` deletes all existing lines.\n- `required_for_records` absent \u2192 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": {
            "title": "Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "name": {
            "title": "Name",
            "type": [
              "string",
              "null"
            ]
          },
          "is_active": {
            "title": "Is Active",
            "type": [
              "boolean",
              "null"
            ]
          },
          "classification_id": {
            "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"
            ]
          },
          "updated_after": {
            "title": "Updated After",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_before": {
            "title": "Updated Before",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "title": "Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "field_type": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/FieldType"
              },
              {
                "type": "null"
              }
            ]
          },
          "is_active": {
            "title": "Is Active",
            "type": [
              "boolean",
              "null"
            ]
          },
          "name": {
            "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": {
          "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"
          },
          "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": [
          "created_at",
          "updated_at",
          "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"
            ]
          },
          "code": {
            "title": "Code",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "id": {
            "description": "Filter by paper check IDs",
            "title": "Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "record_status": {
            "description": "Filter by status: 'not_printed', 'printed', or 'archived'",
            "title": "Record Status",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "company_id": {
            "description": "Filter by company IDs",
            "title": "Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "transaction_type": {
            "description": "Filter by transaction type: 'direct_expense', 'vendor_payment', 'vendor_prepayment', 'customer_refund'",
            "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)",
            "title": "Start Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "end_date": {
            "description": "Filter checks created on or before this date (YYYY-MM-DD)",
            "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"
          },
          "code": {
            "description": "Business identifier for the paper check",
            "example": "PC-000123",
            "title": "Code",
            "type": [
              "string",
              "null"
            ]
          },
          "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": {
            "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": {
            "title": "Workflow Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "status": {
            "title": "Status",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "record_type": {
            "title": "Record Type",
            "type": [
              "string",
              "null"
            ]
          },
          "initiator_id": {
            "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"
      },
      "PublicApprovalActionListFilterSchema": {
        "description": "Filter schema for listing approval actions.",
        "properties": {
          "workflow_execution_state_id": {
            "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": {
            "title": "Action Type",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "approver_id": {
            "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"
      },
      "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"
      },
      "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"
      },
      "PagedPublicWorkflowVersionListSchemaOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicWorkflowVersionListSchemaOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicWorkflowVersionListSchemaOut",
        "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"
      },
      "PublicWorkflowVersionListSchemaOut": {
        "description": "V3 list schema: applies the same snapshot normalization/hiding as V1, per returned row.",
        "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": "PublicWorkflowVersionListSchemaOut",
        "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": {
            "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": {
            "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"
            ]
          },
          "updated_after": {
            "title": "Updated After",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_before": {
            "title": "Updated Before",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "number": {
            "title": "Number",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "status": {
            "title": "Status",
            "items": {
              "$ref": "#/components/schemas/FixedAssetStatus"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "record_status": {
            "title": "Record Status",
            "items": {
              "$ref": "#/components/schemas/RecordStatus"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "purchase_date_gte": {
            "title": "Purchase Date Gte",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "purchase_date_lte": {
            "title": "Purchase Date Lte",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "vendor_id": {
            "title": "Vendor Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "customer_id": {
            "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 \u2192 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": {
            "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"
      },
      "PublicExportJobRequestSchemaOut": {
        "description": "Envelope for `POST /export-jobs/`: the job to poll, plus whether it was already running.",
        "properties": {
          "job": {
            "$ref": "#/components/schemas/PublicExportJobSchemaOut"
          },
          "deduplicated": {
            "description": "`true` when an export was already in progress and that existing job is returned instead of a new one.",
            "title": "Deduplicated",
            "type": "boolean"
          }
        },
        "required": [
          "job",
          "deduplicated"
        ],
        "title": "PublicExportJobRequestSchemaOut",
        "type": "object"
      },
      "PublicExportJobSchemaOut": {
        "description": "Sanitized view of an export job. Infra fields (s3_key, crawler/ETL jobs) are never included.",
        "properties": {
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "integration_id": {
            "description": "ID of the destination integration the export runs through.",
            "title": "Integration Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "status": {
            "$ref": "#/components/schemas/PublicExportJobStatus",
            "description": "`pending`, `running`, `completed`, or `failed`."
          },
          "error": {
            "description": "Set only when `status` is `failed`.",
            "title": "Error",
            "type": [
              "string",
              "null"
            ]
          },
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "started_at": {
            "title": "Started At",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "completed_at": {
            "title": "Completed At",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "status",
          "created_at"
        ],
        "title": "PublicExportJobSchemaOut",
        "type": "object"
      },
      "PublicExportJobStatus": {
        "description": "The four states a caller needs; the internal pipeline states collapse onto these.",
        "enum": [
          "pending",
          "running",
          "completed",
          "failed"
        ],
        "title": "PublicExportJobStatus",
        "type": "string"
      },
      "PublicExportJobSchemaIn": {
        "properties": {
          "integration_id": {
            "description": "Destination integration to export through. Optional when the organization has exactly one connected destination.",
            "title": "Integration Id",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "title": "PublicExportJobSchemaIn",
        "type": "object"
      },
      "PublicExportJobListFilterSchema": {
        "properties": {
          "status": {
            "description": "Filter by public status.",
            "title": "Status",
            "items": {
              "$ref": "#/components/schemas/PublicExportJobStatus"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "title": "PublicExportJobListFilterSchema",
        "type": "object"
      },
      "PagedPublicExportJobSchemaOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicExportJobSchemaOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicExportJobSchemaOut",
        "type": "object"
      },
      "PublicExchangeRateTableSchemaIn": {
        "properties": {
          "effective_date": {
            "description": "Single date to fetch rates for.",
            "title": "Effective Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "start_date": {
            "description": "Inclusive range start. Requires end_date.",
            "title": "Start Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "end_date": {
            "description": "Inclusive range end. Requires start_date.",
            "title": "End Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "base_currency": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "transaction_currency": {
            "description": "Quote currencies to include.",
            "items": {
              "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"
            },
            "title": "Transaction Currency",
            "type": "array"
          }
        },
        "required": [
          "base_currency",
          "transaction_currency"
        ],
        "title": "PublicExchangeRateTableSchemaIn",
        "type": "object"
      },
      "ExchangeRateSchemaOut": {
        "properties": {
          "base_currency": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "transaction_currency": {
            "$ref": "#/components/schemas/SystemCurrencies"
          },
          "exchange_rate": {
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,16}0*$",
            "title": "Exchange Rate",
            "type": "string"
          },
          "provider": {
            "title": "Provider",
            "type": "string"
          },
          "method": {
            "$ref": "#/components/schemas/ExhcangeMethods"
          },
          "effective_date": {
            "format": "date",
            "title": "Effective Date",
            "type": "string"
          }
        },
        "required": [
          "base_currency",
          "transaction_currency",
          "exchange_rate",
          "provider",
          "method",
          "effective_date"
        ],
        "title": "ExchangeRateSchemaOut",
        "type": "object"
      },
      "ExhcangeMethods": {
        "enum": [
          "rate_provider",
          "inverse",
          "triangulation"
        ],
        "title": "ExhcangeMethods",
        "type": "string"
      },
      "PagedExchangeRateSchemaOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/ExchangeRateSchemaOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedExchangeRateSchemaOut",
        "type": "object"
      },
      "PublicDepreciationBookListFilterSchema": {
        "properties": {
          "updated_after": {
            "title": "Updated After",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_before": {
            "title": "Updated Before",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "title": "PublicDepreciationBookListFilterSchema",
        "type": "object"
      },
      "DepreciationBookSchemaOut": {
        "description": "Output schema for depreciation book.",
        "properties": {
          "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"
          },
          "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": [
          "created_at",
          "updated_at",
          "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"
            ]
          },
          "updated_after": {
            "title": "Updated After",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_before": {
            "title": "Updated Before",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "code": {
            "title": "Code",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "company_id": {
            "title": "Company Id",
            "items": {
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "number": {
            "title": "Number",
            "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"
            ]
          },
          "record_status": {
            "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"
              }
            ],
            "title": "Amount Gte"
          },
          "amount_lte": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Amount Lte"
          }
        },
        "title": "PublicIJEListFilterSchema",
        "type": "object"
      },
      "PagedPublicIJEListSchemaOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicIJEListSchemaOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicIJEListSchemaOut",
        "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"
      },
      "PublicIJEListSchemaOut": {
        "properties": {
          "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"
          },
          "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"
          },
          "code": {
            "title": "Code",
            "type": [
              "string",
              "null"
            ]
          },
          "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"
          },
          "companies": {
            "items": {
              "$ref": "#/components/schemas/PublicIJECompanySchemaOut"
            },
            "title": "Companies",
            "type": "array"
          },
          "company_ids": {
            "items": {
              "type": "integer"
            },
            "title": "Company Ids",
            "type": "array"
          }
        },
        "required": [
          "created_at",
          "updated_at",
          "record_number",
          "date",
          "transaction_date",
          "memo",
          "currency_iso_4217_code",
          "exchange_rate",
          "record_status",
          "companies",
          "company_ids"
        ],
        "title": "PublicIJEListSchemaOut",
        "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": {
        "properties": {
          "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"
          },
          "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"
          },
          "code": {
            "title": "Code",
            "type": [
              "string",
              "null"
            ]
          },
          "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": {
            "default": [],
            "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"
          },
          "has_more_lines": {
            "default": false,
            "title": "Has More Lines",
            "type": "boolean"
          },
          "lines_count": {
            "default": 0,
            "title": "Lines Count",
            "type": "integer"
          }
        },
        "required": [
          "created_at",
          "updated_at",
          "record_number",
          "date",
          "transaction_date",
          "memo",
          "currency_iso_4217_code",
          "exchange_rate",
          "record_status",
          "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"
      },
      "PagedPublicIJEItemOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicIJEItemOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicIJEItemOut",
        "type": "object"
      },
      "PublicVatRateFilterSchema": {
        "properties": {
          "country_code": {
            "title": "Country Code",
            "items": {
              "$ref": "#/components/schemas/VatCountries"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "rate_type": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/VatRateType"
              },
              {
                "type": "null"
              }
            ]
          },
          "tax_type": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/VatTaxType"
              },
              {
                "type": "null"
              }
            ]
          },
          "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",
          "CH",
          "GB",
          "KR",
          "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"
            ]
          },
          "tax_asset_account_id": {
            "title": "Tax Asset Account Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "tax_liability_account_id": {
            "title": "Tax Liability Account Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "is_non_deductible": {
            "default": false,
            "title": "Is Non Deductible",
            "type": "boolean"
          },
          "deductible": {
            "title": "Deductible",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
            "type": [
              "string",
              "null"
            ]
          },
          "non_deductible_cost_account_id": {
            "title": "Non Deductible Cost Account Id",
            "type": [
              "integer",
              "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": {
          "updated_after": {
            "title": "Updated After",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_before": {
            "title": "Updated Before",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "country_code": {
            "title": "Country Code",
            "items": {
              "$ref": "#/components/schemas/GstCountries"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "tax_treatment": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/GstTreatmentType"
              },
              {
                "type": "null"
              }
            ]
          },
          "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": {
          "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"
          },
          "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": [
          "created_at",
          "updated_at",
          "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"
            ]
          },
          "updated_after": {
            "title": "Updated After",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_before": {
            "title": "Updated Before",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "code": {
            "title": "Code",
            "type": [
              "string",
              "null"
            ]
          },
          "description": {
            "title": "Description",
            "type": [
              "string",
              "null"
            ]
          },
          "source": {
            "title": "Source",
            "items": {
              "$ref": "#/components/schemas/Sources"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "is_active": {
            "title": "Is Active",
            "type": [
              "boolean",
              "null"
            ]
          },
          "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": {
          "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"
          },
          "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": [
          "created_at",
          "updated_at",
          "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"
      },
      "GstAvailableRateOut": {
        "properties": {
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "tax_code": {
            "title": "Tax Code",
            "type": "string"
          },
          "country_code": {
            "$ref": "#/components/schemas/GstCountries"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "rate": {
            "examples": [
              "0.180000"
            ],
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
            "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/GstTaxRateComponentSchemaOut"
            },
            "title": "Components",
            "type": "array"
          },
          "post_to_gl": {
            "description": "Projected GL posting accounts and their roles. Null when no projection is available.",
            "title": "Post To Gl",
            "items": {
              "$ref": "#/components/schemas/TaxGlAccountSchemaOut"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "tax_code",
          "country_code",
          "name",
          "rate",
          "tax_treatment",
          "valid_from",
          "valid_to",
          "is_active",
          "is_system",
          "description",
          "components"
        ],
        "title": "GstAvailableRateOut",
        "type": "object"
      },
      "GstDataOut": {
        "properties": {
          "is_gst_applicable": {
            "title": "Is Gst Applicable",
            "type": "boolean"
          },
          "gst_country": {
            "title": "Gst Country",
            "type": "string"
          },
          "company_gst_number": {
            "title": "Company Gst Number",
            "type": [
              "string",
              "null"
            ]
          },
          "counterparty_gst_number": {
            "title": "Counterparty Gst Number",
            "type": [
              "string",
              "null"
            ]
          },
          "company_pst_number": {
            "description": "Canada (BC/SK/MB/QC): company PST or QST registration for place_of_supply; null elsewhere or HST-only provinces.",
            "title": "Company Pst Number",
            "type": [
              "string",
              "null"
            ]
          },
          "counterparty_pst_number": {
            "description": "Canada: counterparty PST or QST for place_of_supply when applicable; null otherwise.",
            "title": "Counterparty Pst Number",
            "type": [
              "string",
              "null"
            ]
          },
          "place_of_supply": {
            "title": "Place Of Supply",
            "type": [
              "string",
              "null"
            ]
          },
          "gst_supply_category": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/GstSupplyCategory"
              },
              {
                "type": "null"
              }
            ],
            "description": "India only (today): INTRA_STATE (CGST+SGST) vs INTER_STATE (IGST) from seller vs buyer state codes. Null for AU/NZ/SG/CA, and for India when the seller state cannot be resolved."
          },
          "rate_selection": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/TaxRateSelection"
              },
              {
                "type": "null"
              }
            ],
            "description": "Reserved for Provider calculated fixed-rate GST"
          },
          "available_rates": {
            "items": {
              "$ref": "#/components/schemas/GstAvailableRateOut"
            },
            "title": "Available Rates",
            "type": "array"
          },
          "items": {
            "items": {
              "$ref": "#/components/schemas/GstItemOut"
            },
            "title": "Items",
            "type": "array"
          },
          "total_tax_amount": {
            "title": "Total Tax Amount",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "type": [
              "string",
              "null"
            ]
          },
          "total_with_tax": {
            "title": "Total With Tax",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "type": [
              "string",
              "null"
            ]
          },
          "tax_registration_numbers": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/TaxRegistrationNumbersSnapshot"
              },
              {
                "type": "null"
              }
            ],
            "description": "Snapshot-shape of all relevant registration numbers for both parties."
          },
          "calculation_source": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/TaxCalculationSource"
              },
              {
                "type": "null"
              }
            ]
          },
          "tax_metadata": {
            "title": "Tax Metadata",
            "additionalProperties": true,
            "type": [
              "object",
              "null"
            ]
          }
        },
        "required": [
          "is_gst_applicable",
          "gst_country",
          "company_gst_number",
          "counterparty_gst_number",
          "place_of_supply",
          "available_rates",
          "items"
        ],
        "title": "GstDataOut",
        "type": "object"
      },
      "GstItemOut": {
        "properties": {
          "item_id": {
            "title": "Item Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "product_tax_code": {
            "title": "Product Tax Code",
            "type": [
              "string",
              "null"
            ]
          },
          "tax_code": {
            "title": "Tax Code",
            "type": [
              "string",
              "null"
            ]
          },
          "provider_tax_code": {
            "description": "Tax rate code returned by an external provider.",
            "title": "Provider Tax Code",
            "type": [
              "string",
              "null"
            ]
          },
          "tax_rate": {
            "title": "Tax Rate",
            "examples": [
              "0.2000"
            ],
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
            "type": [
              "string",
              "null"
            ]
          },
          "tax_amount": {
            "title": "Tax Amount",
            "examples": [
              "20"
            ],
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "type": [
              "string",
              "null"
            ]
          },
          "amount_with_tax": {
            "title": "Amount With Tax",
            "examples": [
              "120"
            ],
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "type": [
              "string",
              "null"
            ]
          },
          "is_taxable": {
            "title": "Is Taxable",
            "type": [
              "boolean",
              "null"
            ]
          },
          "tax_exempt_amount": {
            "title": "Tax Exempt Amount",
            "examples": [
              "0"
            ],
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "type": [
              "string",
              "null"
            ]
          },
          "tax_metadata": {
            "title": "Tax Metadata",
            "additionalProperties": true,
            "type": [
              "object",
              "null"
            ]
          },
          "post_to_gl": {
            "description": "Projected GL posting accounts and their roles. Null when no projection is available.",
            "title": "Post To Gl",
            "items": {
              "$ref": "#/components/schemas/TaxGlAccountSchemaOut"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "selected_gst_tax_rate_id": {
            "title": "Selected Gst Tax Rate Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "available_rates_ids": {
            "items": {
              "type": "integer"
            },
            "title": "Available Rates Ids",
            "type": "array"
          },
          "gst_tax_components": {
            "title": "Gst Tax Components",
            "items": {
              "$ref": "#/components/schemas/TaxComponentSchema"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "product_tax_code",
          "tax_code",
          "tax_rate",
          "tax_amount"
        ],
        "title": "GstItemOut",
        "type": "object"
      },
      "GstTaxRateComponentSchemaOut": {
        "properties": {
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "component_type": {
            "$ref": "#/components/schemas/GstComponentType"
          },
          "rate": {
            "examples": [
              "0.090000"
            ],
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
            "title": "Rate",
            "type": "string"
          },
          "region": {
            "title": "Region",
            "type": [
              "string",
              "null"
            ]
          },
          "position": {
            "title": "Position",
            "type": "integer"
          }
        },
        "required": [
          "id",
          "component_type",
          "rate",
          "region",
          "position"
        ],
        "title": "GstTaxRateComponentSchemaOut",
        "type": "object"
      },
      "NoneTaxDataOut": {
        "properties": {
          "reason": {
            "title": "Reason",
            "type": "string"
          }
        },
        "required": [
          "reason"
        ],
        "title": "NoneTaxDataOut",
        "type": "object"
      },
      "SalesTaxDataOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/TaxItemOut"
            },
            "title": "Items",
            "type": "array"
          },
          "total_tax_amount": {
            "examples": [
              "20"
            ],
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Total Tax Amount",
            "type": "string"
          },
          "total_with_tax": {
            "examples": [
              "120"
            ],
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Total With Tax",
            "type": "string"
          },
          "tax_applicable": {
            "title": "Tax Applicable",
            "type": "boolean"
          },
          "nexus_detected": {
            "title": "Nexus Detected",
            "type": "boolean"
          },
          "destination": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/TaxLocationIn"
              },
              {
                "type": "null"
              }
            ]
          },
          "tax_rate_for_destination": {
            "title": "Tax Rate For Destination",
            "examples": [
              "0.2000"
            ],
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
            "type": [
              "string",
              "null"
            ]
          },
          "calculation_source": {
            "title": "Calculation Source",
            "type": [
              "string",
              "null"
            ]
          },
          "tax_metadata": {
            "title": "Tax Metadata",
            "additionalProperties": true,
            "type": [
              "object",
              "null"
            ]
          }
        },
        "required": [
          "items",
          "total_tax_amount",
          "total_with_tax",
          "tax_applicable",
          "nexus_detected",
          "destination",
          "tax_rate_for_destination"
        ],
        "title": "SalesTaxDataOut",
        "type": "object"
      },
      "TaxCalculationSource": {
        "enum": [
          "avalara",
          "dualentry"
        ],
        "title": "TaxCalculationSource",
        "type": "string"
      },
      "TaxGlAccountRole": {
        "enum": [
          "asset",
          "liability",
          "non_deductible_cost"
        ],
        "title": "TaxGlAccountRole",
        "type": "string"
      },
      "TaxGlAccountSchemaOut": {
        "properties": {
          "account_id": {
            "title": "Account Id",
            "type": "integer"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "number": {
            "title": "Number",
            "type": "integer"
          },
          "role": {
            "$ref": "#/components/schemas/TaxGlAccountRole"
          }
        },
        "required": [
          "account_id",
          "name",
          "number",
          "role"
        ],
        "title": "TaxGlAccountSchemaOut",
        "type": "object"
      },
      "TaxItemOut": {
        "properties": {
          "item_id": {
            "title": "Item Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "product_tax_code": {
            "title": "Product Tax Code",
            "type": [
              "string",
              "null"
            ]
          },
          "tax_code": {
            "title": "Tax Code",
            "type": [
              "string",
              "null"
            ]
          },
          "provider_tax_code": {
            "description": "Tax rate code returned by an external provider.",
            "title": "Provider Tax Code",
            "type": [
              "string",
              "null"
            ]
          },
          "tax_rate": {
            "title": "Tax Rate",
            "examples": [
              "0.2000"
            ],
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
            "type": [
              "string",
              "null"
            ]
          },
          "tax_amount": {
            "title": "Tax Amount",
            "examples": [
              "20"
            ],
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "type": [
              "string",
              "null"
            ]
          },
          "amount_with_tax": {
            "examples": [
              "120"
            ],
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "title": "Amount With Tax",
            "type": "string"
          },
          "is_taxable": {
            "title": "Is Taxable",
            "type": [
              "boolean",
              "null"
            ]
          },
          "tax_exempt_amount": {
            "title": "Tax Exempt Amount",
            "examples": [
              "0"
            ],
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "type": [
              "string",
              "null"
            ]
          },
          "tax_metadata": {
            "title": "Tax Metadata",
            "additionalProperties": true,
            "type": [
              "object",
              "null"
            ]
          },
          "post_to_gl": {
            "description": "Projected GL posting accounts and their roles. Null when no projection is available.",
            "title": "Post To Gl",
            "items": {
              "$ref": "#/components/schemas/TaxGlAccountSchemaOut"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "product_tax_code",
          "tax_code",
          "tax_rate",
          "tax_amount",
          "amount_with_tax"
        ],
        "title": "TaxItemOut",
        "type": "object"
      },
      "TaxLocationIn": {
        "properties": {
          "country": {
            "$ref": "#/components/schemas/SystemCountries",
            "description": "Country code",
            "example": "US"
          },
          "region": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/UsRegions"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "State/region code",
            "example": "CA",
            "title": "Region"
          },
          "postal_code": {
            "description": "Postal/ZIP code",
            "example": "94105",
            "title": "Postal Code",
            "type": "string"
          },
          "city": {
            "description": "City name",
            "example": "San Francisco",
            "title": "City",
            "type": [
              "string",
              "null"
            ]
          },
          "line1": {
            "description": "Street address line 1",
            "example": "123 Main St",
            "title": "Line1",
            "type": [
              "string",
              "null"
            ]
          },
          "line2": {
            "description": "Street address line 2",
            "example": "Suite 100",
            "title": "Line2",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "country",
          "postal_code"
        ],
        "title": "TaxLocationIn",
        "type": "object"
      },
      "TaxRateSelection": {
        "enum": [
          "SELECTABLE",
          "FIXED"
        ],
        "title": "TaxRateSelection",
        "type": "string"
      },
      "TaxResultV2Out": {
        "properties": {
          "type": {
            "$ref": "#/components/schemas/TaxResultType"
          },
          "data": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SalesTaxDataOut"
              },
              {
                "$ref": "#/components/schemas/VatDataOut"
              },
              {
                "$ref": "#/components/schemas/GstDataOut"
              },
              {
                "$ref": "#/components/schemas/NoneTaxDataOut"
              }
            ],
            "title": "Data"
          }
        },
        "required": [
          "type",
          "data"
        ],
        "title": "TaxResultV2Out",
        "type": "object"
      },
      "UsRegions": {
        "enum": [
          "AL",
          "AK",
          "AZ",
          "AR",
          "CA",
          "CO",
          "CT",
          "DE",
          "FL",
          "GA",
          "HI",
          "ID",
          "IL",
          "IN",
          "IA",
          "KS",
          "KY",
          "LA",
          "ME",
          "MD",
          "MA",
          "MI",
          "MN",
          "MS",
          "MO",
          "MT",
          "NE",
          "NV",
          "NH",
          "NJ",
          "NM",
          "NY",
          "NC",
          "ND",
          "OH",
          "OK",
          "OR",
          "PA",
          "RI",
          "SC",
          "SD",
          "TN",
          "TX",
          "UT",
          "VT",
          "VA",
          "WA",
          "WV",
          "WI",
          "WY",
          "DC",
          "AS",
          "GU",
          "MP",
          "PR",
          "VI",
          "AE",
          "AP",
          "AA"
        ],
        "title": "UsRegions",
        "type": "string"
      },
      "VatAvailableRateOut": {
        "properties": {
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "tax_code": {
            "title": "Tax Code",
            "type": "string"
          },
          "country_code": {
            "$ref": "#/components/schemas/VatCountries"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "rate": {
            "examples": [
              "0.2000"
            ],
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
            "title": "Rate",
            "type": "string"
          },
          "rate_type": {
            "title": "Rate Type",
            "type": "string"
          },
          "tax_type": {
            "title": "Tax Type",
            "type": "string"
          },
          "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"
            ]
          },
          "post_to_gl": {
            "description": "Projected GL posting accounts and their roles. Null when no projection is available.",
            "title": "Post To Gl",
            "items": {
              "$ref": "#/components/schemas/TaxGlAccountSchemaOut"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "tax_code",
          "country_code",
          "name",
          "rate",
          "rate_type",
          "tax_type",
          "valid_from",
          "valid_to",
          "is_active",
          "is_system",
          "description"
        ],
        "title": "VatAvailableRateOut",
        "type": "object"
      },
      "VatDataOut": {
        "properties": {
          "is_vat_applicable": {
            "title": "Is Vat Applicable",
            "type": "boolean"
          },
          "vat_country": {
            "title": "Vat Country",
            "type": [
              "string",
              "null"
            ]
          },
          "company_vat_number": {
            "title": "Company Vat Number",
            "type": [
              "string",
              "null"
            ]
          },
          "counterparty_vat_number": {
            "title": "Counterparty Vat Number",
            "type": [
              "string",
              "null"
            ]
          },
          "rate_selection": {
            "$ref": "#/components/schemas/TaxRateSelection"
          },
          "available_rates": {
            "items": {
              "$ref": "#/components/schemas/VatAvailableRateOut"
            },
            "title": "Available Rates",
            "type": "array"
          },
          "items": {
            "items": {
              "$ref": "#/components/schemas/VatItemOut"
            },
            "title": "Items",
            "type": "array"
          },
          "total_tax_amount": {
            "title": "Total Tax Amount",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "type": [
              "string",
              "null"
            ]
          },
          "total_with_tax": {
            "title": "Total With Tax",
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "type": [
              "string",
              "null"
            ]
          },
          "tax_registration_numbers": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/TaxRegistrationNumbersSnapshot"
              },
              {
                "type": "null"
              }
            ]
          },
          "calculation_source": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/TaxCalculationSource"
              },
              {
                "type": "null"
              }
            ]
          },
          "tax_metadata": {
            "title": "Tax Metadata",
            "additionalProperties": true,
            "type": [
              "object",
              "null"
            ]
          }
        },
        "required": [
          "is_vat_applicable",
          "vat_country",
          "company_vat_number",
          "counterparty_vat_number",
          "rate_selection",
          "available_rates",
          "items"
        ],
        "title": "VatDataOut",
        "type": "object"
      },
      "VatItemOut": {
        "properties": {
          "item_id": {
            "title": "Item Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "product_tax_code": {
            "title": "Product Tax Code",
            "type": [
              "string",
              "null"
            ]
          },
          "tax_code": {
            "title": "Tax Code",
            "type": [
              "string",
              "null"
            ]
          },
          "provider_tax_code": {
            "description": "Tax rate code returned by an external provider.",
            "title": "Provider Tax Code",
            "type": [
              "string",
              "null"
            ]
          },
          "tax_rate": {
            "title": "Tax Rate",
            "examples": [
              "0.2000"
            ],
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,6}0*$",
            "type": [
              "string",
              "null"
            ]
          },
          "tax_amount": {
            "title": "Tax Amount",
            "examples": [
              "20"
            ],
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "type": [
              "string",
              "null"
            ]
          },
          "amount_with_tax": {
            "title": "Amount With Tax",
            "examples": [
              "120"
            ],
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "type": [
              "string",
              "null"
            ]
          },
          "is_taxable": {
            "title": "Is Taxable",
            "type": [
              "boolean",
              "null"
            ]
          },
          "tax_exempt_amount": {
            "title": "Tax Exempt Amount",
            "examples": [
              "0"
            ],
            "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$",
            "type": [
              "string",
              "null"
            ]
          },
          "tax_metadata": {
            "title": "Tax Metadata",
            "additionalProperties": true,
            "type": [
              "object",
              "null"
            ]
          },
          "post_to_gl": {
            "description": "Projected GL posting accounts and their roles. Null when no projection is available.",
            "title": "Post To Gl",
            "items": {
              "$ref": "#/components/schemas/TaxGlAccountSchemaOut"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "selected_vat_rate_id": {
            "title": "Selected Vat Rate Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "available_rates_ids": {
            "items": {
              "type": "integer"
            },
            "title": "Available Rates Ids",
            "type": "array"
          }
        },
        "required": [
          "product_tax_code",
          "tax_code",
          "tax_rate",
          "tax_amount"
        ],
        "title": "VatItemOut",
        "type": "object"
      },
      "TaxErrorOut": {
        "properties": {
          "success": {
            "default": false,
            "title": "Success",
            "type": "boolean"
          },
          "errors": {
            "additionalProperties": {
              "anyOf": [
                {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                {
                  "type": "string"
                }
              ]
            },
            "title": "Errors",
            "type": "object"
          }
        },
        "required": [
          "errors"
        ],
        "title": "TaxErrorOut",
        "type": "object"
      },
      "CreditSourceIn": {
        "properties": {
          "record_type": {
            "$ref": "#/components/schemas/TaxableRecordType",
            "description": "Linked source record type (invoice/cash_sale for customer credits; bill/direct_expense for vendor credits).",
            "example": "invoice"
          },
          "record_id": {
            "description": "Linked source record ID.",
            "example": 1,
            "title": "Record Id",
            "type": "integer"
          }
        },
        "required": [
          "record_type",
          "record_id"
        ],
        "title": "CreditSourceIn",
        "type": "object"
      },
      "TaxCalculationV2In": {
        "properties": {
          "company_id": {
            "description": "Company ID",
            "example": 1,
            "title": "Company Id",
            "type": "integer"
          },
          "customer_id": {
            "description": "Customer ID (money-in records)",
            "example": 1,
            "title": "Customer Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "vendor_id": {
            "description": "Vendor ID (money-out records)",
            "example": null,
            "title": "Vendor Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "record_type": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/TaxableRecordType"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional taxable record type. Customer/vendor credits use ReturnOrder estimates.",
            "example": "invoice"
          },
          "credit_source": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/CreditSourceIn"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional linked source for customer/vendor credits. Used to pin AvaTax taxOverride.taxDate to the original sale/purchase.",
            "example": {
              "record_id": 1,
              "record_type": "invoice"
            }
          },
          "transaction_buyer_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/TaxLocationIn"
              },
              {
                "type": "null"
              }
            ],
            "description": "Buyer address on the transaction \u2014 required for sales tax, ignored for VAT",
            "example": {
              "city": "San Francisco",
              "country": "US",
              "line1": "123 Main St",
              "line2": "Suite 100",
              "postal_code": "94105",
              "region": "CA"
            }
          },
          "transaction_ship_from_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/TaxLocationIn"
              },
              {
                "type": "null"
              }
            ],
            "description": "Vendor shipment origin for money-out records. Overrides the vendor default address in tax preview."
          },
          "transaction_ship_to_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/TaxLocationIn"
              },
              {
                "type": "null"
              }
            ],
            "description": "Company delivery location for money-out records. Overrides the company default address in tax preview."
          },
          "transaction_date": {
            "description": "Transaction date \u2014 required for sales tax",
            "example": "2025-08-29",
            "title": "Transaction Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "supply_date": {
            "description": "Tax point / date of supply \u2014 filters VAT and GST rates by valid_from / valid_to",
            "example": "2025-08-29",
            "title": "Supply Date",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "items": {
            "description": "List of items to calculate tax for",
            "example": [
              {
                "discount_type": "PERCENTAGE",
                "discount_value": "10.00",
                "item_id": -1,
                "quantity": "1.000000",
                "unit_price": "100.000000"
              },
              {
                "item_id": -2,
                "quantity": "2.000000",
                "record_level_discount_amount": "5.00",
                "selected_vat_rate_id": 1,
                "unit_price": "50.000000"
              }
            ],
            "items": {
              "$ref": "#/components/schemas/TaxedItemIn"
            },
            "title": "Items",
            "type": "array"
          },
          "currency_code": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SystemCurrencies"
              },
              {
                "type": "null"
              }
            ],
            "description": "Currency code (ISO 4217) \u2014 required for sales tax",
            "example": "USD"
          }
        },
        "required": [
          "company_id"
        ],
        "title": "TaxCalculationV2In",
        "type": "object"
      },
      "TaxableRecordType": {
        "enum": [
          "invoice",
          "cash_sale",
          "customer_credit",
          "sales_order",
          "bill",
          "direct_expense",
          "vendor_credit",
          "purchase_order"
        ],
        "title": "TaxableRecordType",
        "type": "string"
      },
      "TaxedItemIn": {
        "properties": {
          "item_id": {
            "description": "Item ID (null for expense lines)",
            "example": 1,
            "title": "Item Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "quantity": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
                "type": "string"
              }
            ],
            "description": "Quantity of the item",
            "example": "1.000000",
            "title": "Quantity"
          },
          "unit_price": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
                "type": "string"
              }
            ],
            "description": "Unit price of the item",
            "example": "100.000000",
            "title": "Unit Price"
          },
          "discount_type": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DiscountType"
              },
              {
                "type": "null"
              }
            ],
            "description": "Type of discount (PERCENTAGE or FIXED)",
            "example": "PERCENTAGE"
          },
          "discount_value": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Discount value (10 for 10% or 10.00 for $10)",
            "example": "10.00",
            "title": "Discount Value"
          },
          "selected_vat_rate_id": {
            "description": "Selected VAT rate ID (from available_rates) \u2014 used in VAT calculations",
            "title": "Selected Vat Rate Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "selected_gst_tax_rate_id": {
            "description": "Selected GST tax rate ID (from available_rates) \u2014 used in GST calculations",
            "title": "Selected Gst Tax Rate Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "record_level_discount_amount": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Record-level discount amount allocated to this line",
            "example": "5.00",
            "title": "Record Level Discount Amount"
          }
        },
        "required": [
          "quantity",
          "unit_price"
        ],
        "title": "TaxedItemIn",
        "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"
          },
          "awaiting_setup": {
            "title": "Awaiting Setup",
            "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",
          "awaiting_setup",
          "deterministic_suggested",
          "awaiting_ai",
          "ai_in_progress",
          "ai_suggested",
          "ai_no_match",
          "no_match",
          "excluded",
          "matched"
        ],
        "title": "PublicBankMatchStatusCountsSchemaOut",
        "type": "object"
      },
      "MatchingStatus": {
        "enum": [
          "unprocessed",
          "awaiting_setup",
          "deterministic_suggested",
          "awaiting_ai",
          "ai_in_progress",
          "ai_suggested",
          "ai_no_match",
          "no_match",
          "excluded",
          "matched"
        ],
        "title": "MatchingStatus",
        "type": "string"
      },
      "PublicBankTransactionFilterSchema": {
        "properties": {
          "updated_after": {
            "title": "Updated After",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_before": {
            "title": "Updated Before",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "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",
          "yapily",
          "finicity",
          "customer_api",
          "sftp",
          "moss"
        ],
        "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": {
          "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"
          },
          "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": [
          "created_at",
          "updated_at",
          "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"
      },
      "PublicBankConnectionAccountSchemaOut": {
        "properties": {
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "account_id": {
            "title": "Account Id",
            "type": "string"
          },
          "account_name": {
            "title": "Account Name",
            "type": "string"
          },
          "truncated_account_number": {
            "title": "Truncated Account Number",
            "type": [
              "string",
              "null"
            ]
          },
          "currency_iso_4217_code": {
            "title": "Currency Iso 4217 Code",
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "title": "Status",
            "type": "string"
          }
        },
        "required": [
          "id",
          "account_id",
          "account_name",
          "status"
        ],
        "title": "PublicBankConnectionAccountSchemaOut",
        "type": "object"
      },
      "PublicBankConnectionSchemaOut": {
        "properties": {
          "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"
          },
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "connection_source_id": {
            "title": "Connection Source Id",
            "type": "string"
          },
          "institution_name": {
            "title": "Institution Name",
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "title": "Status",
            "type": "string"
          },
          "successfully_aggregated_at": {
            "title": "Successfully Aggregated At",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "last_sync_at": {
            "title": "Last Sync At",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "accounts": {
            "items": {
              "$ref": "#/components/schemas/PublicBankConnectionAccountSchemaOut"
            },
            "title": "Accounts",
            "type": "array"
          }
        },
        "required": [
          "created_at",
          "updated_at",
          "id",
          "connection_source_id",
          "status"
        ],
        "title": "PublicBankConnectionSchemaOut",
        "type": "object"
      },
      "PublicBankConnectionAccountSchemaIn": {
        "properties": {
          "account_id": {
            "description": "Stable customer-supplied account key.",
            "minLength": 1,
            "title": "Account Id",
            "type": "string"
          },
          "account_name": {
            "description": "Display name for the account.",
            "minLength": 1,
            "title": "Account Name",
            "type": "string"
          },
          "truncated_account_number": {
            "title": "Truncated Account Number",
            "type": [
              "string",
              "null"
            ]
          },
          "currency_iso_4217_code": {
            "title": "Currency Iso 4217 Code",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "account_id",
          "account_name"
        ],
        "title": "PublicBankConnectionAccountSchemaIn",
        "type": "object"
      },
      "PublicBankConnectionRegisterSchemaIn": {
        "properties": {
          "connection_source_id": {
            "minLength": 1,
            "title": "Connection Source Id",
            "type": "string"
          },
          "institution_name": {
            "minLength": 1,
            "title": "Institution Name",
            "type": "string"
          },
          "accounts": {
            "items": {
              "$ref": "#/components/schemas/PublicBankConnectionAccountSchemaIn"
            },
            "title": "Accounts",
            "type": "array"
          }
        },
        "required": [
          "connection_source_id",
          "institution_name"
        ],
        "title": "PublicBankConnectionRegisterSchemaIn",
        "type": "object"
      },
      "PublicBankConnectionListFilterSchema": {
        "properties": {
          "updated_after": {
            "title": "Updated After",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_before": {
            "title": "Updated Before",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "title": "PublicBankConnectionListFilterSchema",
        "type": "object"
      },
      "PagedPublicBankConnectionSchemaOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PublicBankConnectionSchemaOut"
            },
            "title": "Items",
            "type": "array"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "count"
        ],
        "title": "PagedPublicBankConnectionSchemaOut",
        "type": "object"
      },
      "PublicCustomerApiTransactionBatchOut": {
        "properties": {
          "success": {
            "title": "Success",
            "type": "boolean"
          },
          "results": {
            "items": {
              "$ref": "#/components/schemas/PublicCustomerApiTransactionResultOut"
            },
            "title": "Results",
            "type": "array"
          }
        },
        "required": [
          "success",
          "results"
        ],
        "title": "PublicCustomerApiTransactionBatchOut",
        "type": "object"
      },
      "PublicCustomerApiTransactionResultOut": {
        "properties": {
          "external_trx_id": {
            "title": "External Trx Id",
            "type": "string"
          },
          "status": {
            "description": "created | updated | error",
            "title": "Status",
            "type": "string"
          },
          "id": {
            "title": "Id",
            "type": [
              "integer",
              "null"
            ]
          },
          "error": {
            "title": "Error",
            "additionalProperties": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "type": [
              "object",
              "null"
            ]
          }
        },
        "required": [
          "external_trx_id",
          "status"
        ],
        "title": "PublicCustomerApiTransactionResultOut",
        "type": "object"
      },
      "PublicCustomerApiTransactionBatchIn": {
        "properties": {
          "transactions": {
            "description": "Batch of transactions to upsert. Max 250 items per request.",
            "items": {
              "$ref": "#/components/schemas/PublicCustomerApiTransactionIn"
            },
            "title": "Transactions",
            "type": "array"
          }
        },
        "required": [
          "transactions"
        ],
        "title": "PublicCustomerApiTransactionBatchIn",
        "type": "object"
      },
      "PublicCustomerApiTransactionIn": {
        "properties": {
          "external_trx_id": {
            "description": "Customer idempotency key for this transaction (maps to source_id).",
            "title": "External Trx Id",
            "type": "string"
          },
          "account_id": {
            "description": "Customer-supplied account key from registration; must match the path account.",
            "title": "Account Id",
            "type": "string"
          },
          "date": {
            "description": "Pending/transaction date (required; used when posted_at is null).",
            "format": "date-time",
            "title": "Date",
            "type": "string"
          },
          "amount": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
                "type": "string"
              }
            ],
            "description": "Signed amount. Positive = debit (money in), negative = credit (money out).",
            "title": "Amount"
          },
          "description": {
            "description": "Transaction description. Empty string is allowed.",
            "title": "Description",
            "type": "string"
          },
          "is_posted": {
            "description": "Whether the transaction is posted (true) or pending (false).",
            "title": "Is Posted",
            "type": "boolean"
          },
          "posted_at": {
            "description": "Posting date when known.",
            "title": "Posted At",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "counterparty": {
            "description": "Payee/merchant name; mapped into Bank Match payee path.",
            "title": "Counterparty",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "external_trx_id",
          "account_id",
          "date",
          "amount",
          "description",
          "is_posted"
        ],
        "title": "PublicCustomerApiTransactionIn",
        "type": "object"
      },
      "PublicBankConnectionAccountsRegisterSchemaIn": {
        "properties": {
          "accounts": {
            "items": {
              "$ref": "#/components/schemas/PublicBankConnectionAccountSchemaIn"
            },
            "minItems": 1,
            "title": "Accounts",
            "type": "array"
          }
        },
        "required": [
          "accounts"
        ],
        "title": "PublicBankConnectionAccountsRegisterSchemaIn",
        "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": "Account Balances",
      "description": "Read account balances for one company as of a date, equivalent to a Trial Balance report. Balance-sheet accounts report through the date; income-statement accounts report from the start of the fiscal year."
    },
    {
      "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, retrieve, and update contracts with performance obligations, manage obligation usage, and create change orders (v2)."
    },
    {
      "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": "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 \u2014 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": "Bank Connections",
      "description": "Register and list customer-built inbound bank connection feeds. Create connections and accounts with source_type=customer_api, then push transactions separately. 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."
    },
    {
      "name": "Data Exports",
      "description": "Request off-cycle refreshes of your organization's data export to its configured destination (for example a Snowflake warehouse) and poll their status. Exports also run automatically on a schedule \u2014 this is the on-demand supplement. Requests are accepted and orchestrated by DualEntry; there is no SLA on when a run starts."
    }
  ],
  "x-tagGroups": [
    {
      "name": "Monitoring",
      "tags": [
        "Health"
      ]
    },
    {
      "name": "Developers",
      "tags": [
        "Webhooks",
        "Data Exports"
      ]
    },
    {
      "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": "Reporting",
      "tags": [
        "Account Balances"
      ]
    },
    {
      "name": "Transactions",
      "tags": [
        "Journal Entries",
        "Intercompany Journal Entries",
        "Recurring Journal Entries"
      ]
    },
    {
      "name": "Financial & Banking",
      "tags": [
        "Bank Transfers",
        "Bank Match",
        "Bank Connections"
      ]
    },
    {
      "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"
      ]
    }
  ]
}