Analyze the bills a first sync left out (OWNER only)
const url = 'https://api.invogi.com/v1/erp-connections/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/backfill';const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.invogi.com/v1/erp-connections/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/backfill \ --header 'Authorization: Bearer <token>'A new connection’s first sync keeps the bills that fit the one-time history allowance plus the plan’s remaining included volume (unpaid first, then newest) and leaves the rest out. This imports everything the provider has that Invogi does not, billed like other usage: history allowance, then included volume, then overage. An owner-set overage limit still refuses what exceeds it and the run reports PAUSED. Repeating it is safe.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Responses
Section titled “Responses”Completed inline (no background queue bound)
object
Null when the sync was skipped before a run started because the overage limit has no room
PAUSED means the owner-set overage limit refused further bills; nothing failed and the rest are imported after the limit is raised or the period renews
Of the imported invoices
Example
{ "status": "COMPLETED", "paused_reason": "OVERAGE_LIMIT"}Queued
object
Example
{ "status": "QUEUED"}API key lacks required scope/role
object
object
Example
{ "error": { "code": "NOT_FOUND" }}Resource not found
object
object
Example
{ "error": { "code": "NOT_FOUND" }}