BILL website screenshot

BILL

BILL (formerly Bill.com) is a cloud-based financial operations platform for small and midsize businesses that automates accounts payable, accounts receivable, and spend & expense management. The BILL API Platform exposes these workflows through the BILL v3 REST API and embeddable BILL Elements UI components, enabling partners and ERPs to integrate bill capture, approvals, payments, and real-time event notifications via webhooks. The API uses session-based authentication with API keys and developer keys against production and sandbox gateways.

2 APIs 0 Features
Accounts PayableAccounts ReceivableSpend ManagementExpense ManagementPaymentsBill PayFinancial OperationsFintech

APIs

BILL v3 API

REST API providing full-breadth access to BILL's Accounts Payable, Accounts Receivable, and Spend & Expense capabilities including bills, invoices, vendors, customers, payments,...

BILL Elements

Low-code, embeddable UI components that surface the BILL Accounts Payable workflow inside partner applications with minimal development effort.

Collections

Event Specifications

BILL Webhooks

Outbound webhook event notifications delivered by the BILL v3 API Platform to subscriber `notificationUrl` endpoints. Subscribers register through the BILL v3 webhook subscripti...

ASYNCAPI

Resources

🔗
Website
Website
🌐
DeveloperPortal
DeveloperPortal
🔗
Documentation
Documentation
🔗
APIReference
APIReference
💰
Pricing
Pricing
📝
Signup
Signup
💬
Support
Support
🔗
LinkedIn
LinkedIn
🔗
LlmsText
LlmsText

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: BILL v3 API
  version: 3.0.0
request:
  auth:
    type: apikey
    key: sessionId
    value: '{{sessionId}}'
    placement: header
items:
- info:
    name: Authentication
    type: folder
  items:
  - info:
      name: Sign in to a BILL organization
      type: http
    http:
      method: POST
      url: https://gateway.prod.bill.com/connect/v3/login
      body:
        type: json
        data: '{}'
    docs: 'Authenticates a BILL user. Returns a `sessionId` to be used as the

      session identifier on subsequent requests (expires after 35 minutes of

      inactivity).

      '
  - info:
      name: Sign out of the current session
      type: http
    http:
      method: POST
      url: https://gateway.prod.bill.com/connect/v3/logout
    docs: Sign out of the current session
  - info:
      name: Add phone for multi-factor authentication
      type: http
    http:
      method: POST
      url: https://gateway.prod.bill.com/connect/v3/mfa/setup
    docs: Add phone for multi-factor authentication
  - info:
      name: Generate an MFA challenge
      type: http
    http:
      method: POST
      url: https://gateway.prod.bill.com/connect/v3/mfa/challenge
    docs: Generate an MFA challenge
  - info:
      name: Retrieve current session details
      type: http
    http:
      method: GET
      url: https://gateway.prod.bill.com/connect/v3/session
    docs: Retrieve current session details
- info:
    name: Organizations
    type: folder
  items:
  - info:
      name: List accessible organizations
      type: http
    http:
      method: GET
      url: https://gateway.prod.bill.com/connect/v3/organizations
    docs: List accessible organizations
  - info:
      name: Restore an archived user
      type: http
    http:
      method: POST
      url: https://gateway.prod.bill.com/connect/v3/users/:userId/restore
      params:
      - name: userId
        value: ''
        type: path
    docs: Restore an archived user
- info:
    name: Bills
    type: folder
  items:
  - info:
      name: List bills
      type: http
    http:
      method: GET
      url: https://gateway.prod.bill.com/connect/v3/bills
      params:
      - name: max
        value: ''
        type: query
      - name: page
        value: ''
        type: query
      - name: filters
        value: ''
        type: query
    docs: List bills
  - info:
      name: Create a bill
      type: http
    http:
      method: POST
      url: https://gateway.prod.bill.com/connect/v3/bills
      body:
        type: json
        data: '{}'
    docs: Create a bill
  - info:
      name: Create multiple bills in one request
      type: http
    http:
      method: POST
      url: https://gateway.prod.bill.com/connect/v3/bills/bulk
      body:
        type: json
        data: '{}'
    docs: Create multiple bills in one request
  - info:
      name: Retrieve a bill
      type: http
    http:
      method: GET
      url: https://gateway.prod.bill.com/connect/v3/bills/:billId
      params:
      - name: billId
        value: ''
        type: path
    docs: Retrieve a bill
  - info:
      name: Update a bill
      type: http
    http:
      method: PATCH
      url: https://gateway.prod.bill.com/connect/v3/bills/:billId
      params:
      - name: billId
        value: ''
        type: path
      body:
        type: json
        data: '{}'
    docs: Update a bill
  - info:
      name: Archive a bill
      type: http
    http:
      method: POST
      url: https://gateway.prod.bill.com/connect/v3/bills/:billId/archive
      params:
      - name: billId
        value: ''
        type: path
    docs: Archive a bill
- info:
    name: Vendors
    type: folder
  items:
  - info:
      name: List vendors
      type: http
    http:
      method: GET
      url: https://gateway.prod.bill.com/connect/v3/vendors
      params:
      - name: max
        value: ''
        type: query
      - name: page
        value: ''
        type: query
    docs: List vendors
  - info:
      name: Create a vendor
      type: http
    http:
      method: POST
      url: https://gateway.prod.bill.com/connect/v3/vendors
      body:
        type: json
        data: '{}'
    docs: Create a vendor
  - info:
      name: Retrieve a vendor
      type: http
    http:
      method: GET
      url: https://gateway.prod.bill.com/connect/v3/vendors/:vendorId
      params:
      - name: vendorId
        value: ''
        type: path
    docs: Retrieve a vendor
  - info:
      name: Update a vendor
      type: http
    http:
      method: PATCH
      url: https://gateway.prod.bill.com/connect/v3/vendors/:vendorId
      params:
      - name: vendorId
        value: ''
        type: path
      body:
        type: json
        data: '{}'
    docs: Update a vendor
  - info:
      name: Add a vendor bank account
      type: http
    http:
      method: POST
      url: https://gateway.prod.bill.com/connect/v3/vendors/:vendorId/bank-account
      params:
      - name: vendorId
        value: ''
        type: path
      body:
        type: json
        data: '{}'
    docs: Add a vendor bank account
- info:
    name: Payments
    type: folder
  items:
  - info:
      name: List payments
      type: http
    http:
      method: GET
      url: https://gateway.prod.bill.com/connect/v3/payments
      params:
      - name: max
        value: ''
        type: query
      - name: page
        value: ''
        type: query
    docs: List payments
  - info:
      name: Create a payment (MFA required)
      type: http
    http:
      method: POST
      url: https://gateway.prod.bill.com/connect/v3/payments
      body:
        type: json
        data: '{}'
    docs: Create a payment (MFA required)
  - info:
      name: Create a bulk payment (MFA required)
      type: http
    http:
      method: POST
      url: https://gateway.prod.bill.com/connect/v3/payments/bulk
      body:
        type: json
        data: '{}'
    docs: Create a bulk payment (MFA required)
  - info:
      name: Get payment details
      type: http
    http:
      method: GET
      url: https://gateway.prod.bill.com/connect/v3/payments/:paymentId
      params:
      - name: paymentId
        value: ''
        type: path
    docs: Get payment details
  - info:
      name: Cancel a scheduled payment
      type: http
    http:
      method: POST
      url: https://gateway.prod.bill.com/connect/v3/payments/:paymentId/cancel
      params:
      - name: paymentId
        value: ''
        type: path
    docs: Cancel a scheduled payment
  - info:
      name: Void a processed payment
      type: http
    http:
      method: POST
      url: https://gateway.prod.bill.com/connect/v3/payments/:paymentId/void
      params:
      - name: paymentId
        value: ''
        type: path
    docs: Void a processed payment
- info:
    name: Invoices
    type: folder
  items:
  - info:
      name: List invoices
      type: http
    http:
      method: GET
      url: https://gateway.prod.bill.com/connect/v3/invoices
    docs: List invoices
  - info:
      name: Create an invoice
      type: http
    http:
      method: POST
      url: https://gateway.prod.bill.com/connect/v3/invoices
      body:
        type: json
        data: '{}'
    docs: Create an invoice
  - info:
      name: Retrieve an invoice
      type: http
    http:
      method: GET
      url: https://gateway.prod.bill.com/connect/v3/invoices/:invoiceId
      params:
      - name: invoiceId
        value: ''
        type: path
    docs: Retrieve an invoice
  - info:
      name: Update an invoice
      type: http
    http:
      method: PATCH
      url: https://gateway.prod.bill.com/connect/v3/invoices/:invoiceId
      params:
      - name: invoiceId
        value: ''
        type: path
      body:
        type: json
        data: '{}'
    docs: Update an invoice
  - info:
      name: Send an invoice to the customer
      type: http
    http:
      method: POST
      url: https://gateway.prod.bill.com/connect/v3/invoices/:invoiceId/send
      params:
      - name: invoiceId
        value: ''
        type: path
    docs: Send an invoice to the customer
- info:
    name: Customers
    type: folder
  items:
  - info:
      name: List customers
      type: http
    http:
      method: GET
      url: https://gateway.prod.bill.com/connect/v3/customers
    docs: List customers
  - info:
      name: Create a customer
      type: http
    http:
      method: POST
      url: https://gateway.prod.bill.com/connect/v3/customers
      body:
        type: json
        data: '{}'
    docs: Create a customer
  - info:
      name: Retrieve a customer
      type: http
    http:
      method: GET
      url: https://gateway.prod.bill.com/connect/v3/customers/:customerId
      params:
      - name: customerId
        value: ''
        type: path
    docs: Retrieve a customer
  - info:
      name: Update a customer
      type: http
    http:
      method: PATCH
      url: https://gateway.prod.bill.com/connect/v3/customers/:customerId
      params:
      - name: customerId
        value: ''
        type: path
      body:
        type: json
        data: '{}'
    docs: Update a customer
  - info:
      name: Add a customer bank account
      type: http
    http:
      method: POST
      url: https://gateway.prod.bill.com/connect/v3/customers/:customerId/bank-accounts
      params:
      - name: customerId
        value: ''
        type: path
      body:
        type: json
        data: '{}'
    docs: Add a customer bank account
- info:
    name: Funding Accounts
    type: folder
  items:
  - info:
      name: List bank funding accounts
      type: http
    http:
      method: GET
      url: https://gateway.prod.bill.com/connect/v3/funding-accounts/banks
    docs: List bank funding accounts
  - info:
      name: Create a bank funding account (MFA required)
      type: http
    http:
      method: POST
      url: https://gateway.prod.bill.com/connect/v3/funding-accounts/banks
      body:
        type: json
        data: '{}'
    docs: Create a bank funding account (MFA required)
  - info:
      name: Verify a bank funding account
      type: http
    http:
      method: POST
      url: https://gateway.prod.bill.com/connect/v3/funding-accounts/banks/:bankAccountId/verify
      params:
      - name: bankAccountId
        value: ''
        type: path
    docs: Verify a bank funding account
- info:
    name: Webhooks
    type: folder
  items:
  - info:
      name: List webhook subscriptions
      type: http
    http:
      method: GET
      url: https://gateway.prod.bill.com/connect/v3/webhooks
    docs: List webhook subscriptions
  - info:
      name: Create a webhook subscription
      type: http
    http:
      method: POST
      url: https://gateway.prod.bill.com/connect/v3/webhooks
      body:
        type: json
        data: '{}'
    docs: Create a webhook subscription
  - info:
      name: Remove a webhook subscription
      type: http
    http:
      method: DELETE
      url: https://gateway.prod.bill.com/connect/v3/webhooks/:webhookId
      params:
      - name: webhookId
        value: ''
        type: path
    docs: Remove a webhook subscription
bundled: true