BILL Vendors API
The Vendors API from BILL — 3 operation(s) for vendors.
The Vendors API from BILL — 3 operation(s) for vendors.
openapi: 3.1.0
info:
title: BILL v3 Authentication Vendors 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: Vendors
paths:
/vendors:
get:
tags:
- Vendors
summary: List vendors
operationId: listVendors
parameters:
- $ref: '#/components/parameters/Max'
- $ref: '#/components/parameters/Page'
responses:
'200':
description: Vendors.
post:
tags:
- Vendors
summary: Create a vendor
operationId: createVendor
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/VendorCreate'
responses:
'201':
description: Created vendor.
/vendors/{vendorId}:
parameters:
- name: vendorId
in: path
required: true
schema:
type: string
get:
tags:
- Vendors
summary: Retrieve a vendor
operationId: getVendor
responses:
'200':
description: Vendor.
patch:
tags:
- Vendors
summary: Update a vendor
operationId: updateVendor
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/VendorCreate'
responses:
'200':
description: Updated vendor.
/vendors/{vendorId}/bank-account:
parameters:
- name: vendorId
in: path
required: true
schema:
type: string
post:
tags:
- Vendors
summary: Add a vendor bank account
operationId: addVendorBankAccount
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BankAccount'
responses:
'201':
description: Added.
components:
schemas:
Address:
type: object
properties:
line1:
type: string
line2:
type: string
city:
type: string
stateOrProvince:
type: string
zipOrPostalCode:
type: string
country:
type: string
BankAccount:
type: object
required:
- routingNumber
- accountNumber
- accountType
properties:
routingNumber:
type: string
accountNumber:
type: string
accountType:
type: string
enum:
- CHECKING
- SAVINGS
nameOnAccount:
type: string
verified:
type: boolean
VendorCreate:
type: object
required:
- name
properties:
name:
type: string
accountNumber:
type: string
email:
type: string
format: email
phone:
type: string
address:
$ref: '#/components/schemas/Address'
taxId:
type: string
taxIdType:
type: string
track1099:
type: boolean
currency:
type: string
parameters:
Max:
name: max
in: query
schema:
type: integer
default: 100
maximum: 999
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.
'