FreeAgent Invoices API
The Invoices API from FreeAgent — 10 operation(s) for invoices.
The Invoices API from FreeAgent — 10 operation(s) for invoices.
openapi: 3.1.0
info:
title: FreeAgent BankAccounts Invoices API
description: 'FreeAgent is UK-focused cloud accounting software. The API is RESTful and
exposes contacts, invoices, bank accounts, projects, expenses, bills,
timeslips, tax timeline, and more. OAuth 2.0 (authorization code) is
required for access. JSON and XML responses are supported.
Sandbox base URL: https://api.sandbox.freeagent.com
'
version: '2'
contact:
name: FreeAgent API Support
url: https://dev.freeagent.com/
servers:
- url: https://api.freeagent.com/v2
description: Production
- url: https://api.sandbox.freeagent.com/v2
description: Sandbox
security:
- oauth2: []
tags:
- name: Invoices
paths:
/invoices:
get:
summary: List invoices
operationId: listInvoices
tags:
- Invoices
parameters:
- name: view
in: query
schema:
type: string
enum:
- all
- recent_open_or_overdue
- open
- overdue
- draft
- paid
- name: contact
in: query
schema:
type: string
format: uri
- name: project
in: query
schema:
type: string
format: uri
- name: nested_invoice_items
in: query
schema:
type: boolean
- name: updated_since
in: query
schema:
type: string
format: date-time
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/per_page'
responses:
'200':
description: Invoices list.
post:
summary: Create invoice
operationId: createInvoice
tags:
- Invoices
responses:
'201':
description: Invoice created.
/invoices/{id}:
parameters:
- $ref: '#/components/parameters/id'
get:
summary: Get invoice
operationId: getInvoice
tags:
- Invoices
responses:
'200':
description: Invoice.
put:
summary: Update invoice
operationId: updateInvoice
tags:
- Invoices
responses:
'200':
description: Updated.
delete:
summary: Delete invoice
operationId: deleteInvoice
tags:
- Invoices
responses:
'204':
description: Deleted.
/invoices/{id}/pdf:
parameters:
- $ref: '#/components/parameters/id'
get:
summary: Get invoice as PDF
operationId: getInvoicePdf
tags:
- Invoices
responses:
'200':
description: PDF document.
content:
application/pdf: {}
/invoices/{id}/transitions/mark_as_sent:
parameters:
- $ref: '#/components/parameters/id'
put:
summary: Mark invoice as sent
operationId: invoiceMarkAsSent
tags:
- Invoices
responses:
'200':
description: Status updated.
/invoices/{id}/transitions/mark_as_scheduled:
parameters:
- $ref: '#/components/parameters/id'
put:
summary: Schedule invoice for sending
operationId: invoiceMarkAsScheduled
tags:
- Invoices
responses:
'200':
description: Status updated.
/invoices/{id}/transitions/mark_as_draft:
parameters:
- $ref: '#/components/parameters/id'
put:
summary: Revert invoice to draft
operationId: invoiceMarkAsDraft
tags:
- Invoices
responses:
'200':
description: Status updated.
/invoices/{id}/transitions/mark_as_cancelled:
parameters:
- $ref: '#/components/parameters/id'
put:
summary: Cancel invoice
operationId: invoiceMarkAsCancelled
tags:
- Invoices
responses:
'200':
description: Status updated.
/invoices/{id}/duplicate:
parameters:
- $ref: '#/components/parameters/id'
post:
summary: Duplicate invoice
operationId: duplicateInvoice
tags:
- Invoices
responses:
'201':
description: Duplicate created.
/invoices/{id}/send_email:
parameters:
- $ref: '#/components/parameters/id'
post:
summary: Email invoice
operationId: emailInvoice
tags:
- Invoices
responses:
'200':
description: Email queued.
/invoices/timeline:
get:
summary: Invoice activity timeline
operationId: invoicesTimeline
tags:
- Invoices
responses:
'200':
description: Timeline.
components:
parameters:
id:
name: id
in: path
required: true
schema:
type: string
per_page:
name: per_page
in: query
schema:
type: integer
minimum: 1
maximum: 100
page:
name: page
in: query
schema:
type: integer
minimum: 1
securitySchemes:
oauth2:
type: oauth2
description: 'OAuth 2.0 authorization code flow. Access tokens valid for ~1 hour;
refresh tokens used to obtain new access tokens.
'
flows:
authorizationCode:
authorizationUrl: https://api.freeagent.com/v2/approve_app
tokenUrl: https://api.freeagent.com/v2/token_endpoint
refreshUrl: https://api.freeagent.com/v2/token_endpoint
scopes: {}