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. '