FreshBooks website screenshot

FreshBooks

FreshBooks is a cloud-based accounting and small business management platform offering invoicing, expense tracking, time tracking, project management, payments, estimates, and financial reporting for freelancers, self-employed professionals, and small businesses. The FreshBooks REST API provides access to clients, invoices, expenses, estimates, projects, time entries, payments, and reports using OAuth 2.0 Bearer token authentication.

2 APIs 0 Features
AccountingInvoicingExpense TrackingTime TrackingSmall BusinessBookkeeping

APIs

FreshBooks REST API

REST API for FreshBooks providing CRUD access to clients, invoices, estimates, expenses, projects, time entries, tasks, payments, items, taxes, and accounting reports. Uses OAut...

FreshBooks Webhooks (Callbacks API)

Event delivery surface for the FreshBooks Callbacks API. Subscribers register an HTTPS endpoint, complete a verifier handshake, and then receive HMAC-SHA256 signed POSTs (applic...

Collections

Event Specifications

FreshBooks Webhooks (Callbacks API)

Best-effort AsyncAPI 2.6 description of the FreshBooks Webhooks (Callbacks API) surface. FreshBooks delivers webhook notifications as HTTP POST requests with an `application/x-w...

ASYNCAPI

Resources

🔗
LinkedIn
LinkedIn
🔗
Website
Website
🔗
Documentation
Documentation
🌐
DeveloperPortal
DeveloperPortal
📝
Signup
Signup
💰
Pricing
Pricing
🔗
Login
Login
💬
Support
Support
📰
Blog
Blog
👥
GitHubOrganization
GitHubOrganization

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: FreshBooks REST API
  version: '2026-05-23'
request:
  auth:
    type: bearer
    token: '{{bearerToken}}'
items:
- info:
    name: Default
    type: folder
  items:
  - info:
      name: Identity of the authenticated user
      type: http
    http:
      method: GET
      url: https://api.freshbooks.com/auth/api/v1/users/me
    docs: Identity of the authenticated user
- info:
    name: Clients
    type: folder
  items:
  - info:
      name: listClients
      type: http
    http:
      method: GET
      url: https://api.freshbooks.com/accounting/account/:accountId/users/clients
      params:
      - name: accountId
        value: ''
        type: path
        description: FreshBooks account identifier (business account id)
  - info:
      name: createClient
      type: http
    http:
      method: POST
      url: https://api.freshbooks.com/accounting/account/:accountId/users/clients
      params:
      - name: accountId
        value: ''
        type: path
        description: FreshBooks account identifier (business account id)
      body:
        type: json
        data: '{}'
  - info:
      name: getClient
      type: http
    http:
      method: GET
      url: https://api.freshbooks.com/accounting/account/:accountId/users/clients/:clientId
      params:
      - name: accountId
        value: ''
        type: path
        description: FreshBooks account identifier (business account id)
      - name: clientId
        value: ''
        type: path
  - info:
      name: updateClient
      type: http
    http:
      method: PUT
      url: https://api.freshbooks.com/accounting/account/:accountId/users/clients/:clientId
      params:
      - name: accountId
        value: ''
        type: path
        description: FreshBooks account identifier (business account id)
      - name: clientId
        value: ''
        type: path
      body:
        type: json
        data: '{}'
- info:
    name: Invoices
    type: folder
  items:
  - info:
      name: listInvoices
      type: http
    http:
      method: GET
      url: https://api.freshbooks.com/accounting/account/:accountId/invoices/invoices
      params:
      - name: accountId
        value: ''
        type: path
        description: FreshBooks account identifier (business account id)
  - info:
      name: createInvoice
      type: http
    http:
      method: POST
      url: https://api.freshbooks.com/accounting/account/:accountId/invoices/invoices
      params:
      - name: accountId
        value: ''
        type: path
        description: FreshBooks account identifier (business account id)
      body:
        type: json
        data: '{}'
  - info:
      name: getInvoice
      type: http
    http:
      method: GET
      url: https://api.freshbooks.com/accounting/account/:accountId/invoices/invoices/:invoiceId
      params:
      - name: accountId
        value: ''
        type: path
        description: FreshBooks account identifier (business account id)
      - name: invoiceId
        value: ''
        type: path
  - info:
      name: updateInvoice
      type: http
    http:
      method: PUT
      url: https://api.freshbooks.com/accounting/account/:accountId/invoices/invoices/:invoiceId
      params:
      - name: accountId
        value: ''
        type: path
        description: FreshBooks account identifier (business account id)
      - name: invoiceId
        value: ''
        type: path
      body:
        type: json
        data: '{}'
- info:
    name: Expenses
    type: folder
  items:
  - info:
      name: listExpenses
      type: http
    http:
      method: GET
      url: https://api.freshbooks.com/accounting/account/:accountId/expenses/expenses
      params:
      - name: accountId
        value: ''
        type: path
        description: FreshBooks account identifier (business account id)
  - info:
      name: createExpense
      type: http
    http:
      method: POST
      url: https://api.freshbooks.com/accounting/account/:accountId/expenses/expenses
      params:
      - name: accountId
        value: ''
        type: path
        description: FreshBooks account identifier (business account id)
      body:
        type: json
        data: '{}'
  - info:
      name: getExpense
      type: http
    http:
      method: GET
      url: https://api.freshbooks.com/accounting/account/:accountId/expenses/expenses/:expenseId
      params:
      - name: accountId
        value: ''
        type: path
        description: FreshBooks account identifier (business account id)
      - name: expenseId
        value: ''
        type: path
  - info:
      name: updateExpense
      type: http
    http:
      method: PUT
      url: https://api.freshbooks.com/accounting/account/:accountId/expenses/expenses/:expenseId
      params:
      - name: accountId
        value: ''
        type: path
        description: FreshBooks account identifier (business account id)
      - name: expenseId
        value: ''
        type: path
      body:
        type: json
        data: '{}'
- info:
    name: Estimates
    type: folder
  items:
  - info:
      name: listEstimates
      type: http
    http:
      method: GET
      url: https://api.freshbooks.com/accounting/account/:accountId/estimates/estimates
      params:
      - name: accountId
        value: ''
        type: path
        description: FreshBooks account identifier (business account id)
  - info:
      name: createEstimate
      type: http
    http:
      method: POST
      url: https://api.freshbooks.com/accounting/account/:accountId/estimates/estimates
      params:
      - name: accountId
        value: ''
        type: path
        description: FreshBooks account identifier (business account id)
      body:
        type: json
        data: '{}'
- info:
    name: Projects
    type: folder
  items:
  - info:
      name: listProjects
      type: http
    http:
      method: GET
      url: https://api.freshbooks.com/projects/business/:businessId/projects
      params:
      - name: businessId
        value: ''
        type: path
  - info:
      name: createProject
      type: http
    http:
      method: POST
      url: https://api.freshbooks.com/projects/business/:businessId/projects
      params:
      - name: businessId
        value: ''
        type: path
      body:
        type: json
        data: '{}'
- info:
    name: TimeEntries
    type: folder
  items:
  - info:
      name: listTimeEntries
      type: http
    http:
      method: GET
      url: https://api.freshbooks.com/timetracking/business/:businessId/time_entries
      params:
      - name: businessId
        value: ''
        type: path
  - info:
      name: createTimeEntry
      type: http
    http:
      method: POST
      url: https://api.freshbooks.com/timetracking/business/:businessId/time_entries
      params:
      - name: businessId
        value: ''
        type: path
      body:
        type: json
        data: '{}'
- info:
    name: Payments
    type: folder
  items:
  - info:
      name: listPayments
      type: http
    http:
      method: GET
      url: https://api.freshbooks.com/accounting/account/:accountId/payments/payments
      params:
      - name: accountId
        value: ''
        type: path
        description: FreshBooks account identifier (business account id)
  - info:
      name: createPayment
      type: http
    http:
      method: POST
      url: https://api.freshbooks.com/accounting/account/:accountId/payments/payments
      params:
      - name: accountId
        value: ''
        type: path
        description: FreshBooks account identifier (business account id)
      body:
        type: json
        data: '{}'
- info:
    name: Items
    type: folder
  items:
  - info:
      name: listItems
      type: http
    http:
      method: GET
      url: https://api.freshbooks.com/accounting/account/:accountId/items/items
      params:
      - name: accountId
        value: ''
        type: path
        description: FreshBooks account identifier (business account id)
  - info:
      name: createItem
      type: http
    http:
      method: POST
      url: https://api.freshbooks.com/accounting/account/:accountId/items/items
      params:
      - name: accountId
        value: ''
        type: path
        description: FreshBooks account identifier (business account id)
      body:
        type: json
        data: '{}'
- info:
    name: Taxes
    type: folder
  items:
  - info:
      name: listTaxes
      type: http
    http:
      method: GET
      url: https://api.freshbooks.com/accounting/account/:accountId/taxes/taxes
      params:
      - name: accountId
        value: ''
        type: path
        description: FreshBooks account identifier (business account id)
  - info:
      name: createTax
      type: http
    http:
      method: POST
      url: https://api.freshbooks.com/accounting/account/:accountId/taxes/taxes
      params:
      - name: accountId
        value: ''
        type: path
        description: FreshBooks account identifier (business account id)
      body:
        type: json
        data: '{}'
- info:
    name: Tasks
    type: folder
  items:
  - info:
      name: listTasks
      type: http
    http:
      method: GET
      url: https://api.freshbooks.com/accounting/account/:accountId/projects/tasks
      params:
      - name: accountId
        value: ''
        type: path
        description: FreshBooks account identifier (business account id)
  - info:
      name: createTask
      type: http
    http:
      method: POST
      url: https://api.freshbooks.com/accounting/account/:accountId/projects/tasks
      params:
      - name: accountId
        value: ''
        type: path
        description: FreshBooks account identifier (business account id)
      body:
        type: json
        data: '{}'
bundled: true