Healthcode invoice submission timestamps
Summary
The public API now exposes the time an invoice was successfully submitted to Healthcode.
UpdateInvoiceHealthcodeInput.submittedAtaccepts an optionalDateTimewhen an external integration records a successful submission throughupdateInvoice.InvoiceHealthcodeStatus.submittedAtis available from both theinvoiceandinvoicesqueries.
This change is additive and does not affect existing mutation or query clients.
Mutation behaviour
Pass submittedAt in the existing healthcode block:
mutation RecordHealthcodeSubmission($invoiceId: ID!, $submittedAt: DateTime!) {
updateInvoice(
invoiceId: $invoiceId
invoiceData: {
healthcode: {
status: Unprocessed
providerReference: "EXT-REF-001"
submittedAt: $submittedAt
}
}
) {
data {
id
healthcode {
status
providerReference
submittedAt
updatedAt
}
}
error
}
}
Variables:
{
"invoiceId": "INVOICE_ID",
"submittedAt": "2026-10-29T10:30:00.000Z"
}
The following rules apply:
- When an update first supplies
providerReference,submittedAtdefaults to the current server time when omitted. - Status-only updates, including
NotFound, do not setsubmittedAt. - An explicitly supplied
submittedAtis used for the first submission. - Once stored,
submittedAtis preserved by later status or provider-reference updates. - A request that supplies a different
submittedAtafter one is stored returnsHealthcode submittedAt cannot be changed once set. - Updating the status of older Healthcode invoices does not manufacture a submission timestamp. Existing invoices remain
nullunless a timestamp is explicitly supplied. updatedAtcontinues to change whenever Healthcode information is updated; usesubmittedAtfor the stable successful-submission time.- When a
healthcodeblock is supplied, at least one ofstatus,providerReference, orsubmittedAtis required.
Querying the submission time
The field is available on singular and list queries:
query InvoiceHealthcodeSubmission($invoiceId: ID!) {
invoice(id: $invoiceId) {
id
healthcode {
submittedAt
updatedAt
}
}
invoices {
data {
id
healthcode {
submittedAt
updatedAt
}
}
}
}
See also
- API reference:
updateInvoice - API reference:
UpdateInvoiceHealthcodeInput - API reference:
InvoiceHealthcodeStatus - API reference:
invoice - API reference:
invoices