For Agents
Create, read, update, and delete customers, customer contacts, and customer bank accounts in BILL's accounts receivable platform via single-item and bulk operations.
Use for: I need to create a new AR customer in BILL, Bulk import 200 customers from our CRM into BILL, Update the email field on an existing customer, Add a new contact to an existing BILL customer
Not supported: Does not handle invoicing, payment execution, or AP bill workflows — use only for BILL AR customer, contact, and bank account master data operations.
Jentic publishes the only available OpenAPI specification for BILL Customer Management API, keeping it validated and agent-ready. The Customer Management surface on BILL's accounts receivable platform models customer master data — Customer, CustomerContact, and CustomerBankAccount — through the standard BILL v2 /Crud and /List endpoints, with both single-item and bulk operations. Use it to keep AR records in sync with a CRM, sales-ops tool, or e-commerce platform feeding receivables into BILL.
Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the BILL Customer Management API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with BILL Customer Management API.
Create customers individually or in bulk via /Crud/Create/Customer.json and /Bulk/Crud/Create/Customer.json
List and read customers through /List/Customer.json and /Crud/Read/Customer.json
Update or delete customer records using the corresponding /Crud and /Bulk/Crud endpoints
Manage customer contacts (multiple per customer) with the CustomerContact CRUD set
Store and retrieve customer bank account details via CustomerBankAccount endpoints
Undelete previously deleted customers and contacts when records are restored
Bulk-update large customer or contact sets in a single call for end-of-day syncs
Patterns agents use BILL Customer Management API for, with concrete tasks.
★ CRM-to-AR Customer Sync
Sales-ops teams keep BILL customer records in sync with the CRM so finance can invoice without rekeying. The integration listens for new accounts in the CRM, calls /Crud/Create/Customer.json with the matching org details, and writes the BILL customer ID back to the CRM record. /Bulk/Crud/Create/Customer.json handles backfills, and /Crud/Update/Customer.json handles ongoing field changes.
Call POST /Crud/Create/Customer.json with the new account name, email, and address, then write the returned customer objectId back to the CRM
Multi-Contact Customer Records
AR teams need multiple contacts per customer — billing, AP, and operations. The /CustomerContact CRUD set supports adding many contacts per customer, retrieving them via /List/CustomerContact.json filtered by customer ID, and updating individual contact fields without touching the parent customer record. Bulk endpoints accelerate end-of-quarter contact refreshes.
Call POST /Crud/Create/CustomerContact.json with customer objectId and contact details, then GET /List/CustomerContact.json filtered by that customer to confirm
ACH-Ready Customer Onboarding
Customers who pay by ACH need their bank account on file before the first electronic payment runs. /Crud/Create/CustomerBankAccount.json stores the account details, /Crud/Read/CustomerBankAccount.json verifies them, and /Crud/Delete/CustomerBankAccount.json removes accounts on request. Combined with /Crud/Create/Customer.json this is the full first-time onboarding flow.
Call POST /Crud/Create/Customer.json, then POST /Crud/Create/CustomerBankAccount.json with the routing and account numbers
Agent-Driven Customer Master Data via Jentic
An AI ops agent connected through Jentic answers 'add Acme Corp to BILL with a primary contact at ops@acme.com' by chaining the customer create and contact create operations behind a single search. The BILL session credentials sit in Jentic's vault, so the agent never sees the devKey or session ID, and the same flow scales to bulk imports from a CRM extract. Cleanup actions (Delete, Undelete) are exposed as separate intents.
Search Jentic for 'create an AR customer in BILL', load /Crud/Create/Customer.json, execute, then chain into /Crud/Create/CustomerContact.json
24 endpoints — jentic publishes the only available openapi specification for bill customer management api, keeping it validated and agent-ready.
METHOD
PATH
DESCRIPTION
/Crud/Create/Customer.json
Create an AR customer
/Bulk/Crud/Create/Customer.json
Create multiple AR customers in one call
/Crud/Update/Customer.json
Update fields on a customer
/List/Customer.json
List customers with filters
/Crud/Create/CustomerContact.json
Add a contact to a customer
/List/CustomerContact.json
List contacts, filterable by customer
/Crud/Create/CustomerBankAccount.json
Store a customer's bank account details
/Crud/Delete/Customer.json
Delete a customer record
/Crud/Create/Customer.json
Create an AR customer
/Bulk/Crud/Create/Customer.json
Create multiple AR customers in one call
/Crud/Update/Customer.json
Update fields on a customer
/List/Customer.json
List customers with filters
/Crud/Create/CustomerContact.json
Add a contact to a customer
/List/CustomerContact.json
List contacts, filterable by customer
/Crud/Create/CustomerBankAccount.json
Store a customer's bank account details
/Crud/Delete/Customer.json
Delete a customer record
Three things that make agents converge on Jentic-routed access.
Credential isolation
BILL developer keys and session IDs are stored encrypted in the Jentic vault. Agents call Customer Management operations by name and Jentic attaches the credentials at execution time so neither the devKey nor the session ID enters the agent's context.
Intent-based discovery
Agents search by intent (e.g., 'create an AR customer', 'add a customer contact') and Jentic returns the matching Customer Management operation with the body schema typed, so the agent fills only the customer fields it needs to send.
Time to first call
Direct BILL Customer Management integration: 2-3 days mapping the v2 CRUD pattern, bulk endpoints, and contact and bank account sub-resources. Through Jentic: under 1 hour — search, load schema, execute.
Alternatives and complements available in the Jentic catalogue.
Specific to using BILL Customer Management API through Jentic.
Why is there no official OpenAPI spec for BILL Customer Management API?
BILL documents its v2 API in narrative form on developer.bill.com but does not publish the underlying OpenAPI document. Jentic generates and maintains a structured OpenAPI specification so AI agents and developers can call BILL Customer Management API via tooling. It is validated against the live API and kept up to date. Get started at https://app.jentic.com/sign-up.
What authentication does the BILL Customer Management API use?
All BILL v2 endpoints require a session ID obtained from /Login.json on the BILL Authentication API, plus the developer key. The same session ID works across Customer Management, Approvals, and other BILL v2 surfaces. Through Jentic, the credentials and session lifecycle are managed in the vault.
Can I bulk-create customers in one call?
Yes. POST /Bulk/Crud/Create/Customer.json accepts an array of customer objects and creates them in one transaction, returning the per-record results. Use it for backfills and end-of-day batches rather than looping single-item /Crud/Create/Customer.json calls.
What are the rate limits for the BILL Customer Management API?
BILL applies platform-wide rate limits at the v2 gateway and the Customer Management surface inherits those limits. For high-volume operations always prefer the bulk endpoints (/Bulk/Crud/Create/Customer.json, /Bulk/Crud/Update/Customer.json) since they count as a single call against the limit.
How do I create a customer through Jentic?
Run `pip install jentic`, then `await client.search('create an AR customer in BILL')`, `await client.load(...)` for /Crud/Create/Customer.json, and `await client.execute(...)` with the customer fields. Jentic injects the BILL devKey and session ID from the vault.
Can I store customer bank account details for ACH payments?
Yes. POST /Crud/Create/CustomerBankAccount.json stores the bank routing and account numbers against a customer, /Crud/Read/CustomerBankAccount.json fetches the masked details for verification, and /Crud/Delete/CustomerBankAccount.json removes them on request.
GET STARTED