BILL Authentication API
The Authentication API from BILL — 5 operation(s) for authentication.
The Authentication API from BILL — 5 operation(s) for authentication.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/bill-authentication-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: BILL v3 Authentication 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: Authentication
paths:
/login:
post:
tags:
- Authentication
summary: Sign in to a BILL organization
description: 'Authenticates a BILL user. Returns a `sessionId` to be used as the
session identifier on subsequent requests (expires after 35 minutes of
inactivity).
'
operationId: login
security: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/LoginRequest'
responses:
'200':
description: Authenticated session.
content:
application/json:
schema:
$ref: '#/components/schemas/LoginResponse'
4XX:
$ref: '#/components/responses/Error'
5XX:
$ref: '#/components/responses/Error'
/logout:
post:
tags:
- Authentication
summary: Sign out of the current session
operationId: logout
responses:
'200':
description: Signed out.
/mfa/setup:
post:
tags:
- Authentication
summary: Add phone for multi-factor authentication
operationId: setupMfa
responses:
'200':
description: MFA setup initiated.
/mfa/challenge:
post:
tags:
- Authentication
summary: Generate an MFA challenge
operationId: challengeMfa
responses:
'200':
description: MFA challenge issued.
/session:
get:
tags:
- Authentication
summary: Retrieve current session details
operationId: getSession
responses:
'200':
description: Current session.
components:
schemas:
LoginResponse:
type: object
properties:
sessionId:
type: string
organizationId:
type: string
userId:
type: string
LoginRequest:
type: object
required:
- devKey
- username
- organizationId
properties:
devKey:
type: string
description: Developer key issued by BILL.
username:
type: string
format: email
password:
type: string
format: password
consoleApiToken:
type: string
description: Token for Accountant Console users.
organizationId:
type: string
rememberMeId:
type: string
description: MFA identifier for trusted 30-day sessions.
device:
type: string
description: Mobile device nickname for MFA sessions.
responses:
Error:
description: Error response.
content:
application/json:
schema:
type: object
properties:
errors:
type: array
items:
type: object
properties:
code:
type: string
message:
type: string
field:
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.
'