This page describes AAES Govern’s controls. AAES Operate has private-work permissions, operational reviews and recorded-spend limits; it does not include Govern. About AAES Govern
Before you enable this package
Budgets apply to the amount declared in the task, not to the amount the provider actually sends or moves. Keep gateway.prod.bill.com. Configure both sessionId and devKey headers; this package injects sessionId only. Verify trusted injection of devKey before enabling.
Read each action's effects and exclusions below. Before installation, also read the complete package requirements, including credential issuance, scope, expiry, and provider permissions. These are deployment prerequisites, not capabilities this package supplies.
Capabilities (5)
Each capability below is one registered operation. The complete package JSON includes its exact network destination allowlist. The repository stores it at packs/billcom.json and embeds a copy in the release binary.
Risk tiers. R0 is the minimum for reads. R2 is the minimum for write, create, update, execute, and invoke. R3 is the minimum for delete, send, pay, deploy, approve, share, and transfer. Operators can raise these levels. A minimum tier does not measure the operation's business or confidentiality risk.
On supported execution paths routed through AAES Govern, the R3 actions listed below require approval by an authorized person. Bypass paths and observation-only registrations are outside that guarantee. A provider's restoration feature does not remove this approval requirement. A provider-side approval, such as approving a GitLab merge request, is also separate from AAES Govern human approval. The capability matrix shows which execution paths are implemented, restricted to lab use, or refused at startup. Live compatibility must be tested in your environment.
Field guide. Endpoint is the service address and request method. Connector is the adapter that makes the call. Custody describes how the credential is held; the credential reference identifies the value to resolve. Data class sets handling requirements: pii means personal data, financial means financial records, and internal means internal organizational data.
billcom.vendors.read v1.0.0R0
- Kind
- tool
- Action
- read
- Endpoint
GET https://gateway.prod.bill.com/connect/v3/vendors- Connector
- http
- Custody
- customer_vault
- Credential ref
secret-ref-billcom-v3-session- Data class
- pii
Read vendors.
Query the vendors collection: vendor names, account numbers, emails, phones, addresses and network/payment status — vendor records carry named contacts and can identify individual persons, so the read is classified as pii (personal data) (a deployment whose policy classifies vendor master data differently may change it).
The registered path covers the collection read only — single-vendor reads (GET /v3/vendors/{vendorId}) and vendor bank account details are not registered by this pack.
billcom.bills.read v1.0.0R0
- Kind
- tool
- Action
- read
- Endpoint
GET https://gateway.prod.bill.com/connect/v3/bills- Connector
- http
- Custody
- customer_vault
- Credential ref
secret-ref-billcom-v3-session- Data class
- financial
Read bills.
Query the bills collection: bill headers with vendors, invoice numbers, amounts, currencies, due dates, approval statuses and payment statuses, classified as financial data.
The registered path covers the collection read only — single-bill reads (GET /v3/bills/{billId}) and bill documents are not registered by this pack.
billcom.payments.read v1.0.0R0
- Kind
- tool
- Action
- read
- Endpoint
GET https://gateway.prod.bill.com/connect/v3/payments- Connector
- http
- Custody
- customer_vault
- Credential ref
secret-ref-billcom-v3-session- Data class
- financial
Read payments.
Query the payments collection: payment objects with vendors, amounts, funding accounts, process dates, disbursement types and statuses, classified as financial data.
The registered path covers the collection read only — single-payment reads (GET /v3/payments/{paymentId}) and check image data are not registered by this pack.
billcom.bills.create v1.0.0R3
- Kind
- tool
- Action
- pay
- Endpoint
POST https://gateway.prod.bill.com/connect/v3/bills- Connector
- http
- Custody
- customer_vault
- Credential ref
secret-ref-billcom-v3-session- Data class
- financial
Create bills.
Create a bill with POST /v3/bills. The response confirms bill creation and request acceptance, not that money moved. Explicit payment uses the separate MFA-gated POST /v3/payments endpoint, which this pack excludes.
Automatic-payment effect: BILL documents that creating a bill for a vendor with autoPay enabled initiates its automatic payment workflow. Review the vendor’s autoPay setting before enabling. This is why the capability declares pay at the minimum R3 tier and requires human approval on supported execution paths mediated by AAES Govern; it does not stop observation-only or bypass calls.
Budget limit: the gateway refuses a declared amount above the registered ceiling and commits the ceiling against the task budget. It does not constrain the amount encoded in the provider request.
billcom.bills.approve v1.0.0R3
- Kind
- tool
- Action
- approve
- Endpoint
POST https://gateway.prod.bill.com/connect/v3/bill-approvals/actions- Connector
- http
- Custody
- customer_vault
- Credential ref
secret-ref-billcom-v3-session- Data class
- financial
Approve bills.
Approve or deny bills through POST /v3/bill-approvals/actions, with one array entry per bill. The call records the approver’s judgement and releases the corresponding approval gate. A bill subject to an approval policy cannot be paid until all required approvers have approved.
Payment effect: the call itself moves no money. Explicit payment uses the excluded MFA-gated POST /v3/payments endpoint. However, BILL also documents vendor auto-pay and recurring-bill autoPayment; releasing an approval gate can allow configured automatic payment processing. Excluding the explicit payment endpoint does not exclude every payment-initiation path.
Classification: approve, minimum R3.
On supported execution paths mediated by AAES Govern, an authorized person must approve the irreversible action. This cannot stop observation-only or bypass calls.
Credential requirement: approve/deny needs a user-credential session. AP & AR sync-token sessions cannot perform it.
Credential reference
The credential field names a reference rather than containing credential material. Packs are designed not to contain secrets; the format checks cover only known credential formats and cannot prove that arbitrary text contains no secrets. Installing a package registers its capabilities. Configure the provider credentials, endpoints, and network access, then test the integration in your environment before enabling it.
- Reference
secret-ref-billcom-v3-session- Custody
- customer_vault
- Injection
- header (sessionId)
Configure the value and injection format specified in the package. Assign responsibility for credential rotation and revocation, restrict provider permissions, and keep credential material out of logs and responses.
Complete credential requirements
A BILL v3 API session id, held in the client's own secret manager. The stored material must be the complete sessionId header value — the session id itself, with no scheme prefix. An external token process mints it: POST https://gateway.prod.bill.com/connect/v3/login with username, password, organizationId and devKey — where username/password are either user credentials or an AP & AR sync token name/value generated in the BILL web app (Settings > Sync & Integrations > Tokens) — and stores only the returned sessionId; the sign-in credentials (user password or sync token value) are themselves secret material and stay with that external process.
The devKey has a different lifecycle: BILL documents devKey and sessionId as required headers on EVERY API call, not just login, so the devKey must also reach the trusted HTTP executor — it does not stay with the external sign-in process. The deployment must resolve the devKey from its own secret manager as a second secret reference (separate from this pack's sessionId reference), inject it into the devKey header on every call alongside the injected sessionId, and give it protections equivalent to the session id's: held in executor memory only for the lifetime of a call, never written to logs, traces or diagnostics, and never present in crash dumps.
That second-secret wiring is outside this pack's single injection point and is a pre-enablement review item — if the executor cannot supply the devKey header, this pack is not enableable as wired.
Expiry and revocation: BILL documents that a session minted from user credentials expires after 35 minutes idle, and a session minted from a sync token after 48 hours idle, so the external process must re-login on expiry — the executor must not attempt renewal itself; signing out with POST /v3/logout terminates the session, and an expired value fails closed; revoking a sync token in the BILL web app prevents that token minting new sessions — preventing issuance is a different event from invalidating sessions already minted, and BILL's documentation does not describe credential or sync-token changes as ending sessions already in flight before their documented idle expiry.
Least privilege: a sync-token session has no payment operations, no approve/deny and no MFA-protected operations, and is the right shape for the reads and bill creation; the approve capability needs a user-credential session, which BILL documents as unrestricted within the user's permissions — choose the underlying BILL user's role accordingly. MFA note: payment creation requires an MFA-trusted session, which this pack never uses because it does not register payment creation.
Executor hygiene: the session id must live only in executor memory for the lifetime of a call, must never be written to logs, traces or diagnostics, and must never appear in crash reports; the executor's memory, log and crash handling are otherwise the deployment's review.
Resources
billcom-vendors(api, pii):https://gateway.prod.bill.com/connect/v3/vendorsbillcom-bills(api, financial):https://gateway.prod.bill.com/connect/v3/billsbillcom-payments(api, financial):https://gateway.prod.bill.com/connect/v3/paymentsbillcom-bill-approvals(api, financial):https://gateway.prod.bill.com/connect/v3/bill-approvals/actions
Technical package and review record
Complete provider requirements and exclusions
Use a BILL API session whose underlying sign-in credentials carry only the access these capabilities need; the pack does not create one. The BILL v3 API authenticates every call with TWO headers, sessionId and devKey: this pack's credential reference stores the sessionId material for injection into the sessionId header, and the deployment must present the devKey header alongside every call — review how the deployment's HTTP executor supplies that second header before enabling, because if it cannot, this pack is not enableable as wired.
The production host is gateway.prod.bill.com (path prefix /connect); gateway.stage.bill.com is the sandbox and is not registered. Bill creation is registered as pay at the minimum R3 tier, not create at R2: POST /v3/bills itself creates a bill object and schedules no payment — payment is the separate, MFA-gated POST /v3/payments endpoint this pack deliberately does not register — but BILL documents vendor auto-pay (when autoPay is enabled for a vendor, BILL automatically pays the vendor when a bill is created for that vendor), so under a documented account configuration the call initiates a payment workflow whose documented end state is a processed payment; pay is one of the designated actions requiring human approval.
Approving a bill is registered as approve at the minimum R3 tier — BILL documents that approved bills can be paid — and approve is likewise irreversible; both irreversible actions require a person, and the registered cost ceiling on bill creation plus a policy budget are the second control. All reads are collection reads only: single-record reads (GET /v3/vendors/{vendorId}, GET /v3/bills/{billId}, GET /v3/payments/{paymentId}) exist in the API and are deliberately not registered.
Excluded operations: payment creation (POST /v3/payments, POST /v3/payments/bulk and POST /v3/payments/mass — money moves, and BILL requires an MFA-trusted session), recording offline AP payments, cancelling or voiding payments, vendor creation/update/archive and all vendor bank account operations, recurring bills (including recurring-bill autoPayment), bill update/replace/archive/restore, bill approval policy management, the entire AR surface, the Spend & Expense API surface (which uses a different, token-based authentication), documents and attachments upload, webhook subscription management, MFA operations, and the v2 API.
An AP & AR sync token sign-in is the least-privilege credential shape for the reads and for bill creation (sync-token sessions have no payment and no approve/deny access); the approve capability requires a user-credential session, so a deployment that enables the approve capability must accept the broader session. AAES has not been certified by Bill.com; the endpoints here are configuration to review and test; the vendor has not endorsed it.
Download the complete package JSON for exact network allowlists, credential requirements, exclusions, and setup notes. Read these requirements before installation.
The full documentation review record is supplied in the evaluation package. The evaluation package runs in your environment and comes only with the paid design partnership. This page reproduces the source links and review block; the full record is available for evaluation. Discuss a design partnership to inspect it before installation.
Review block
This section reproduces the review block recorded in the pack file. The evidence and approval record is separate: for a reviewed pack, it is in the evaluation materials and in the release binary's embedded assets.
Review completed: 2026-09-22
13 sources, retrieved 2026-09-21
- https://developer.bill.com/llms.txt (retrieved 2026-09-21)
- https://developer.bill.com/reference/login.md (retrieved 2026-09-21)
- https://developer.bill.com/docs/bill-keys-tokens.md (retrieved 2026-09-21)
- https://developer.bill.com/docs/token-based-sign-in.md (retrieved 2026-09-21)
- https://developer.bill.com/reference/listvendors.md (retrieved 2026-09-21)
- https://developer.bill.com/reference/listbills.md (retrieved 2026-09-21)
- https://developer.bill.com/reference/listpayments.md (retrieved 2026-09-21)
- https://developer.bill.com/reference/createbill.md (retrieved 2026-09-21)
- https://developer.bill.com/reference/billapprovedenyactions.md (retrieved 2026-09-21)
- https://developer.bill.com/docs/ap-bill-approvals.md (retrieved 2026-09-21)
- https://developer.bill.com/docs/ap-bills.md (retrieved 2026-09-21)
- https://developer.bill.com/docs/vendor-payment-options.md (retrieved 2026-09-21)
- https://developer.bill.com/docs/ap-payments.md (retrieved 2026-09-21)
Current documentation links are navigation aids. They do not change the package, its historical sources or its review date. Review dates describe a documentation review, not a live integration test. No package is provider-endorsed or yet tested against a live provider tenant.
Release identity
SHA-256 of the pack file bytes: 045be0dcc94a936dccb5eb374c7bf6ccf08ef93b6ece730a48b0fd2261043172
Distributable: yes, digest matches the release manifest. Editing a package changes its release identity. A deployment plan checks its own file digests; it does not restore reviewed status or authenticate approval.