Authenticate by POSTing to https://api.bill.com/api/v2/Login.json with your developer key, user name, password, and organization ID to obtain a sessionId.
Include the sessionId and devKey in the header or body of all subsequent requests as required by the BILL API.
To create a bill, POST to https://api.bill.com/api/v2/Crud/Create/Bill.json with a data object containing vendorId, invoiceNumber, invoiceDate, dueDate, and lineItems array (each with chartOfAccountId and amount).
Capture the returned id of the new Bill object.
To schedule a payment, POST to https://api.bill.com/api/v2/PayBills.json with a paymentAmount, payDate, bankAccountId, and the bill id.
Poll the payment or bill object for status updates using the Crud/Read endpoints, or configure webhooks to receive status change notifications.
Known gotchas
BILL API sessions expire; your integration must re-authenticate and obtain a fresh sessionId for long-running processes or background jobs.
Line items on bills must reference valid chart-of-account IDs configured in the BILL organization; using IDs from another organization causes validation failures.
Payment initiation is separate from approval; if the organization requires payment approval workflows, a scheduled payment will remain pending until approved in BILL.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp