BILL Bills API
The Bills API from BILL — 4 operation(s) for bills.
The Bills API from BILL — 4 operation(s) for bills.
openapi: 3.1.0
info:
title: BILL v3 Authentication Bills API
description: 'REST API providing access to BILL''s Accounts Payable, Accounts Receivable,
and Spend & Expense capabilities — bills, invoices, vendors, customers,
payments, funding accounts, organizations, webhooks, and authentication
workflows.
Best-effort OpenAPI reconstruction from BILL''s public developer portal at
https://developer.bill.com/docs/home. Authoritative reference and Postman
collection live under https://developer.bill.com/reference and
https://developer.bill.com/llms.txt.
'
version: 3.0.0
contact:
name: BILL Developer Portal
url: https://developer.bill.com/docs/home
license:
name: Proprietary
servers:
- url: https://gateway.prod.bill.com/connect/v3
description: BILL production gateway (Connect v3)
- url: https://gateway.stage.bill.com/connect/v3
description: BILL sandbox gateway (Connect v3)
- url: https://api.bill.com/v3
description: BILL production API
- url: https://api-sandbox.bill.com/v3
description: BILL sandbox API
security:
- sessionAuth: []
tags:
- name: Bills
paths:
/bills:
get:
tags:
- Bills
summary: List bills
operationId: listBills
parameters:
- $ref: '#/components/parameters/Max'
- $ref: '#/components/parameters/Page'
- name: filters
in: query
schema:
type: string
responses:
'200':
description: Bills.
content:
application/json:
schema:
$ref: '#/components/schemas/BillList'
post:
tags:
- Bills
summary: Create a bill
operationId: createBill
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BillCreate'
responses:
'201':
description: Created bill.
content:
application/json:
schema:
$ref: '#/components/schemas/Bill'
/bills/bulk:
post:
tags:
- Bills
summary: Create multiple bills in one request
operationId: createBillsBulk
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- bills
properties:
bills:
type: array
items:
$ref: '#/components/schemas/BillCreate'
responses:
'200':
description: Bulk creation result.
/bills/{billId}:
parameters:
- $ref: '#/components/parameters/BillId'
get:
tags:
- Bills
summary: Retrieve a bill
operationId: getBill
responses:
'200':
description: Bill.
content:
application/json:
schema:
$ref: '#/components/schemas/Bill'
patch:
tags:
- Bills
summary: Update a bill
operationId: updateBill
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BillCreate'
responses:
'200':
description: Updated bill.
/bills/{billId}/archive:
parameters:
- $ref: '#/components/parameters/BillId'
post:
tags:
- Bills
summary: Archive a bill
operationId: archiveBill
responses:
'200':
description: Archived.
components:
schemas:
BillLineItem:
type: object
properties:
id:
type: string
amount:
type: number
format: double
chartOfAccountId:
type: string
departmentId:
type: string
locationId:
type: string
description:
type: string
lineType:
type: string
quantity:
type: number
unitPrice:
type: number
format: double
BillCreate:
type: object
required:
- vendorId
- invoiceNumber
- invoiceDate
- dueDate
- billLineItems
properties:
vendorId:
type: string
invoiceNumber:
type: string
invoiceDate:
type: string
format: date
dueDate:
type: string
format: date
description:
type: string
billLineItems:
type: array
items:
$ref: '#/components/schemas/BillLineItem'
Bill:
type: object
properties:
id:
type: string
invoiceNumber:
type: string
invoiceDate:
type: string
format: date
dueDate:
type: string
format: date
amount:
type: number
format: double
amountDue:
type: number
format: double
currency:
type: string
vendorId:
type: string
description:
type: string
approvalStatus:
type: string
paymentStatus:
type: string
archived:
type: boolean
billLineItems:
type: array
items:
$ref: '#/components/schemas/BillLineItem'
createdTime:
type: string
format: date-time
updatedTime:
type: string
format: date-time
BillList:
type: object
properties:
results:
type: array
items:
$ref: '#/components/schemas/Bill'
nextPage:
type: string
parameters:
Max:
name: max
in: query
schema:
type: integer
default: 100
maximum: 999
BillId:
name: billId
in: path
required: true
schema:
type: string
Page:
name: page
in: query
schema:
type: string
securitySchemes:
sessionAuth:
type: apiKey
in: header
name: sessionId
description: 'Session identifier obtained from `POST /login`. Expires after 35 minutes
of inactivity. A `devKey` (developer key) is also required on requests
and is sent alongside `sessionId` in the appropriate header per BILL''s
official reference.
'