QuickBooks · Schema

changeorderresponse

AccountingBookkeepingSmall BusinessFinanceInvoicingPayrollTax

Properties

Name Type Description
TxnDate string The date entered by the user when this transaction occurred. For posting transactions, this is the posting date that affects the financial statements. If not supplied, the current date on the server i
PrintStatus string Printing status of the change order. Valid values: NotSet, NeedToPrint, PrintComplete.
TxnStatus string Current status of the change order. Valid values: Pending (default — created but not yet reviewed), Accepted (customer approved; project contracted total increases accordingly), Closed (converted to a
LinkedTxn array One or more linked transaction references at the header level, reflecting the parent project estimate. Also appears on each line item. Use LinkedTxn.TxnId as the ID in a separate Estimate read request
TotalAmt number Total amount of the transaction including all line charges and taxes. Calculated by QuickBooks business logic from the sum of all line Amount values plus applicable tax. Do not include in create or up
AcceptedDate string Date the change order was accepted. Populated when TxnStatus is set to Accepted.
ExpirationDate string Date by which the change order must be accepted before it expires.
ApplyTaxAfterDiscount boolean If false or null, sales tax is calculated first and then any discount is applied. If true, the discount is subtracted first and then sales tax is calculated.
DocNumber string Reference number for the change order (for example, CO-001). If not provided, the value is null.
PrivateNote string Organization-private note about the change order. This note does not appear on documents sent to the customer.
Line array Individual line items describing the work being added or removed. Supports SalesItemLineDetail and SubTotalLineDetail line types. Every line must include a LinkedTxn array referencing the parent proje
CustomerMemo object User-entered message to the customer; visible on the Change Order document sent to the customer.
ProjectRef object Reference to the project this change order belongs to. Must reference an active project. Without a valid ProjectRef, the change order will not appear in the Projects dashboard.
CustomerRef object Reference to the customer associated with this change order. Must match the customer on the parent project estimate. Use Customer.Id and Customer.DisplayName from the Customer object for CustomerRef.v
TxnTaxDetail object Tax details for the transaction. Captures sales taxes calculated based on tax codes referenced by the transaction lines.
SyncToken string Version number of the object. It is used to lock an object for use by one app at a time. As soon as an application modifies an object, its SyncToken is incremented. Attempts to modify an object specif
AcceptedBy string Name of the customer or representative who accepted the change order. Populated when TxnStatus is set to Accepted.
TotalCostAmount number Total cost amount of the transaction, calculated from the sum of all line CostAmount values. Calculated by QuickBooks business logic; any value supplied is overwritten.
EmailStatus string Email status of the change order. Valid values: NotSet, NeedToSend, EmailSent.
MetaData object Descriptive information about the object. The MetaData values are set by Data Services and are read only for all applications.
BillEmail object Email address where the change order is sent. Required when EmailStatus is set to NeedToSend.
Id string Unique identifier for this object.
View JSON Schema on GitHub

JSON Schema

quickbooks-changeorderresponse-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/quickbooks/json-schema/quickbooks-changeorderresponse-schema.json",
  "title": "changeorderresponse",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/quickbooks-changeorder-api-openapi.yml#/components/schemas/changeorderresponse",
  "type": "object",
  "properties": {
    "TxnDate": {
      "type": "string",
      "format": "date",
      "description": "The date entered by the user when this transaction occurred. For posting transactions, this is the posting date that affects the financial statements. If not supplied, the current date on the server is used. Sort order is ASC by default.",
      "x-intuit-required": "Optional",
      "x-intuit-default": "current server date",
      "x-intuit-filterable": true,
      "x-intuit-sortable": true
    },
    "PrintStatus": {
      "type": "string",
      "description": "Printing status of the change order. Valid values: NotSet, NeedToPrint, PrintComplete.",
      "x-intuit-required": "Optional",
      "x-intuit-default": "<span class=\"literal\">NotSet</span>"
    },
    "TxnStatus": {
      "type": "string",
      "description": "Current status of the change order. Valid values: Pending (default — created but not yet reviewed), Accepted (customer approved; project contracted total increases accordingly), Closed (converted to an Invoice or manually closed), Rejected (customer declined; does not affect project total).",
      "x-intuit-required": "Optional",
      "x-intuit-default": "Pending"
    },
    "LinkedTxn": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/linkedtxn"
      },
      "description": "One or more linked transaction references at the header level, reflecting the parent project estimate. Also appears on each line item. Use LinkedTxn.TxnId as the ID in a separate Estimate read request to retrieve details of the linked object. TxnType must always be Estimate.",
      "x-intuit-required": "Required"
    },
    "TotalAmt": {
      "type": "number",
      "description": "Total amount of the transaction including all line charges and taxes. Calculated by QuickBooks business logic from the sum of all line Amount values plus applicable tax. Do not include in create or update request bodies; any value supplied is overwritten."
    },
    "AcceptedDate": {
      "type": "string",
      "format": "date",
      "description": "Date the change order was accepted. Populated when TxnStatus is set to Accepted.",
      "x-intuit-required": "Optional"
    },
    "ExpirationDate": {
      "type": "string",
      "format": "date",
      "description": "Date by which the change order must be accepted before it expires.",
      "x-intuit-required": "Optional"
    },
    "ApplyTaxAfterDiscount": {
      "type": "boolean",
      "description": "If false or null, sales tax is calculated first and then any discount is applied. If true, the discount is subtracted first and then sales tax is calculated.",
      "x-intuit-required": "Optional",
      "x-intuit-default": false
    },
    "DocNumber": {
      "type": "string",
      "description": "Reference number for the change order (for example, CO-001). If not provided, the value is null.",
      "x-intuit-required": "Optional",
      "x-intuit-filterable": true,
      "x-intuit-sortable": true
    },
    "PrivateNote": {
      "type": "string",
      "description": "Organization-private note about the change order. This note does not appear on documents sent to the customer.",
      "x-intuit-required": "Optional"
    },
    "Line": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/line"
      },
      "description": "Individual line items describing the work being added or removed. Supports SalesItemLineDetail and SubTotalLineDetail line types. Every line must include a LinkedTxn array referencing the parent project estimate with TxnType: \"Estimate\". All lines must reference the same parent estimate. The Line array uses full-replace behavior on update — lines omitted from an update request are deleted.",
      "x-intuit-required": "Required"
    },
    "CustomerMemo": {
      "allOf": [
        {
          "$ref": "#/$defs/memoref"
        }
      ],
      "description": "User-entered message to the customer; visible on the Change Order document sent to the customer.",
      "x-intuit-required": "Optional"
    },
    "ProjectRef": {
      "allOf": [
        {
          "$ref": "#/$defs/referencetype"
        }
      ],
      "description": "Reference to the project this change order belongs to. Must reference an active project. Without a valid ProjectRef, the change order will not appear in the Projects dashboard.",
      "x-intuit-required": "Required",
      "x-intuit-filterable": true
    },
    "CustomerRef": {
      "allOf": [
        {
          "$ref": "#/$defs/referencetype"
        }
      ],
      "description": "Reference to the customer associated with this change order. Must match the customer on the parent project estimate. Use Customer.Id and Customer.DisplayName from the Customer object for CustomerRef.value and CustomerRef.name, respectively.",
      "x-intuit-required": "Required",
      "x-intuit-filterable": true
    },
    "TxnTaxDetail": {
      "allOf": [
        {
          "$ref": "#/$defs/txntaxdetail"
        }
      ],
      "description": "Tax details for the transaction. Captures sales taxes calculated based on tax codes referenced by the transaction lines.",
      "x-intuit-required": "Optional"
    },
    "SyncToken": {
      "type": "string",
      "description": "Version number of the object. It is used to lock an object for use by one app at a time. As soon as an application modifies an object, its SyncToken is incremented. Attempts to modify an object specifying an older SyncToken fail. Only the latest version of the object is maintained by QuickBooks Online.",
      "x-intuit-required": "Required for update"
    },
    "AcceptedBy": {
      "type": "string",
      "description": "Name of the customer or representative who accepted the change order. Populated when TxnStatus is set to Accepted.",
      "x-intuit-required": "Optional"
    },
    "TotalCostAmount": {
      "type": "number",
      "description": "Total cost amount of the transaction, calculated from the sum of all line CostAmount values. Calculated by QuickBooks business logic; any value supplied is overwritten."
    },
    "EmailStatus": {
      "type": "string",
      "description": "Email status of the change order. Valid values: NotSet, NeedToSend, EmailSent.",
      "x-intuit-required": "Optional",
      "x-intuit-default": "<span class=\"literal\">NotSet</span>"
    },
    "MetaData": {
      "allOf": [
        {
          "$ref": "#/$defs/modificationmetadata"
        }
      ],
      "description": "Descriptive information about the object. The MetaData values are set by Data Services and are read only for all applications.",
      "x-intuit-required": "Optional"
    },
    "BillEmail": {
      "allOf": [
        {
          "$ref": "#/$defs/emailaddress"
        }
      ],
      "description": "Email address where the change order is sent. Required when EmailStatus is set to NeedToSend.",
      "x-intuit-required": "Conditionally required"
    },
    "Id": {
      "type": "string",
      "description": "Unique identifier for this object.",
      "x-intuit-required": "Required for update",
      "x-intuit-filterable": true
    }
  },
  "required": [
    "CustomerRef",
    "Line",
    "LinkedTxn",
    "ProjectRef"
  ],
  "$defs": {
    "emailaddress": {
      "type": "object",
      "title": "emailaddress",
      "properties": {
        "Address": {
          "type": "string",
          "description": "An email address. The address format must follow the RFC 822 standard.",
          "x-intuit-required": "Optional"
        }
      }
    },
    "line": {
      "type": "object",
      "title": "line",
      "properties": {
        "Received": {
          "type": "string",
          "description": "Supported for Purchase Order only. The amount/quantity received of the line, which depends on the type of the line. It can represent the received amount or received quantity based on the line type detail. Applies to existing and new entities."
        },
        "LinkedTxn": {
          "type": "array",
          "items": {},
          "description": "Transaction to which the current entity is related. For example, an invoice line may link to a sales order or estimate.",
          "x-intuit-required": "Optional"
        },
        "Description": {
          "type": "string",
          "description": "Free form text description of the line item that appears in the printed record.",
          "x-intuit-required": "Optional"
        },
        "ProjectRef": {
          "allOf": [
            {
              "$ref": "#/$defs/referencetype"
            }
          ],
          "description": "Reference to the Project ID associated with this transaction.",
          "x-intuit-required": "Conditionally required"
        },
        "LineNum": {
          "type": "number",
          "description": "Specifies the position of the line in the collection of transaction lines. Positive integer",
          "x-intuit-required": "Optional"
        },
        "Amount": {
          "type": "number",
          "description": "The amount of the line item.",
          "x-intuit-required": "Required"
        },
        "Id": {
          "type": "string",
          "description": "The Id of the line item. Its use in requests is as folllows:\nIf\nIdis greater than zero and exists for the company, the request is considered an update operation for a line item.\n\nIf no\nIdis provided, the\nIdprovided is less than or equal to zero, or the\nIdprovided is greater than zero and does not exist for the company then the request is considered a create operation for a line item.\n\nAvailable in all objects that use lines and support the update operation.",
          "x-intuit-required": "Required for update"
        }
      },
      "required": [
        "Amount"
      ]
    },
    "linkedtxn": {
      "type": "object",
      "title": "linkedtxn",
      "properties": {
        "TxnLineId": {
          "type": "string",
          "description": "Required for Deposit and Bill entities. The line number of a specific line of the linked transaction. If supplied, the\nTxnId and\nTxnType attributes of the linked transaction must also be populated.",
          "x-intuit-required": "Conditionally required"
        },
        "TxnId": {
          "type": "string",
          "description": "Transaction Id of the related transaction.",
          "x-intuit-required": "Required"
        },
        "TxnType": {
          "type": "string",
          "description": "Transaction type of the linked object.",
          "x-intuit-required": "Required"
        }
      },
      "required": [
        "TxnId",
        "TxnType"
      ]
    },
    "memoref": {
      "type": "object",
      "title": "memoref",
      "properties": {
        "value": {
          "type": "string",
          "description": "User-entered message to the customer; this message is visible to the end user on their transactions.",
          "x-intuit-required": "Required"
        }
      },
      "required": [
        "value"
      ]
    },
    "modificationmetadata": {
      "type": "object",
      "title": "modificationmetadata",
      "properties": {
        "CreateTime": {
          "type": "string",
          "format": "date-time",
          "description": "Time the entity was created in the source domain.",
          "x-intuit-filterable": true,
          "x-intuit-sortable": true
        },
        "LastUpdatedTime": {
          "type": "string",
          "format": "date-time",
          "description": "Time the entity was last updated in the source domain.",
          "x-intuit-filterable": true,
          "x-intuit-sortable": true
        }
      }
    },
    "referencetype": {
      "type": "object",
      "title": "referencetype",
      "properties": {
        "name": {
          "type": "string",
          "description": "An identifying name for the object being referenced by value and is derived from the field that holds the common name of that object. This varies by context and specific type of object referenced. For example, references to a Customer object use Customer.DisplayName to populate this field. Optionally returned in responses, implementation dependent.",
          "x-intuit-required": "Optional"
        },
        "value": {
          "type": "string",
          "description": "The ID for the referenced object as found in the Id field of the object payload. The context is set by the type of reference and is specific to the QuickBooks company file.",
          "x-intuit-required": "Required"
        }
      },
      "required": [
        "value"
      ]
    },
    "txntaxdetail": {
      "type": "object",
      "title": "txntaxdetail",
      "properties": {
        "TxnTaxCodeRef": {
          "allOf": [
            {
              "$ref": "#/$defs/referencetype"
            }
          ],
          "description": "Reference to the transaction tax code. Query the TaxCode name list resource to determine the appropriate TaxCode object for this reference. Use TaxCode.Id and TaxCode.Name from that object for TaxCodeRef.value and TaxCodeRef.name, respectively. If specified and sales tax is disabled (Preferences.TaxPrefs.UsingSalesTax is set to false), this element is ignored and not returned. For sales transactions, only: if automated sales tax is enabled (Preferences.TaxPrefs.PartnerTaxEnabled is set to true) the supplied transaction tax code is replaced by the automated sales tax engine recommendation.",
          "x-intuit-required": "Optional"
        },
        "TotalTax": {
          "type": "number",
          "description": "Total tax calculated for the transaction, excluding any tax lines manually inserted into the transaction line list.",
          "x-intuit-required": "Optional"
        },
        "TaxLine": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/line"
          },
          "x-intuit-required": "Optional"
        }
      }
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/quickbooks-changeorderresponse"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.