PUT /api/v3/bill/billHeaders

Updates bill header fields in bulk for a list of bills

BillActionUpdateHeadersV3 Permissions: BillsAndBatches (Edit)
Use this endpoint to mass-update header fields (e.g., begin date, end date, batch) across multiple bills. Bills where the new end date would be on or before the begin date are skipped. Bills the user lacks permission to edit (exported or approved) are also skipped. Bill audits are not triggered by this operation.

Request Headers

Header Value Required Description
ECI-ApiKey string Yes Your API key. See Authentication.
Content-Type application/json Yes All requests must specify JSON content type, including the request body.

Request Body

BillActionHeaderUpdate
Property Description Type
billHeader BillHeaderUpdate
BillHeaderUpdate properties
Property Description Type
accountPeriod BillHeaderUpdateAccountPeriodChild
BillHeaderUpdateAccountPeriodChild properties
Property Description Type
accountPeriod Must be between 190001 and 209913 Required (defined) integer (int32)
update Indicates whether or not the header value is being updated Required boolean
beginDate BillHeaderUpdateBeginDateChild
BillHeaderUpdateBeginDateChild properties
Property Description Type
beginDate Required when Update is set to True, case sensitive. Must be between 1899-12-31 and 3000-01-01 string (date-time)
update Indicates whether or not the header value is being updated Required boolean
billingPeriod BillHeaderUpdateBillingPeriodChild
BillHeaderUpdateBillingPeriodChild properties
Property Description Type
billingPeriod Required when Update is set to True, case sensitive. Valid billing period between 190001 and 209912 NULL Valid integer (int32)
update Indicates whether or not the header value is being updated Required boolean
controlCode BillHeaderUpdateControlCodeChild
BillHeaderUpdateControlCodeChild properties
Property Description Type
controlCode Must be between 0 and 255 characters Required (defined) string
update Indicates whether or not the header value is being updated Required boolean
dueDate BillHeaderUpdateDueDateChild
BillHeaderUpdateDueDateChild properties
Property Description Type
dueDate Must be between 1899-12-31 and 3000-01-01 Required (defined) string (date-time)
update Indicates whether or not the header value is being updated Required boolean
endDate BillHeaderUpdateEndDateChild
BillHeaderUpdateEndDateChild properties
Property Description Type
endDate Required when Update is set to True, case sensitive. Must be between 1899-12-31 and 3000-01-01 string (date-time)
update Indicates whether or not the header value is being updated Required boolean
estimated BillHeaderUpdateEstimatedChild
BillHeaderUpdateEstimatedChild properties
Property Description Type
estimated Required when Update is set to True, case sensitive. boolean
update Indicates whether or not the header value is being updated Required boolean
invoiceNumber BillHeaderUpdateInvoiceNumberChild
BillHeaderUpdateInvoiceNumberChild properties
Property Description Type
invoiceNumber Must be between 0 and 32 characters Required (defined) string
update Indicates whether or not the header value is being updated Required boolean
statementDate BillHeaderUpdateStatementDateChild
BillHeaderUpdateStatementDateChild properties
Property Description Type
statementDate Must be between 1899-12-31 and 3000-01-01 Required (defined) string (date-time)
update Indicates whether or not the header value is being updated Required boolean
billIds Bill IDs whose headers are going to be updated Cannot be Empty Required integer[]
Example Request Body application/json
{  "billHeader": {    "accountPeriod": {      "accountPeriod": 1,      "update": false
    },    "beginDate": {      "beginDate": "2026-06-29",      "update": false
    },    "billingPeriod": {      "billingPeriod": 1,      "update": false
    },    "controlCode": {      "controlCode": "string",      "update": false
    },    "dueDate": {      "dueDate": "2026-06-29",      "update": false
    },    "endDate": {      "endDate": "2026-06-29",      "update": false
    },    "estimated": {      "estimated": false,      "update": false
    },    "invoiceNumber": {      "invoiceNumber": "string",      "update": false
    },    "statementDate": {      "statementDate": "2026-06-29",      "update": false
    }
  },  "billIds": [
    1
  ]
}

Responses

200 OK The request succeeded and the response body contains the requested data.

Response Body Parameters

UpdateResult
Property Description Type
selected The total number of items that were targeted by the bulk operation Required (defined) integer (int32)
updated The number of items that were actually modified (excludes items that already matched the target state) Required (defined) integer (int32)
Example Response application/json
{  "selected": 1,  "updated": 1
}