25954 lines
768 KiB
YAML
25954 lines
768 KiB
YAML
openapi: 3.0.0
|
|
info:
|
|
title: Firefly III API v2.0.14
|
|
description: |
|
|
This is the documentation of the Firefly III API. You can find accompanying documentation on the website of Firefly III itself (see below). Please report any bugs or issues. You may use the "Authorize" button to try the API below. This file was last generated on 2024-04-20T05:28:29+00:00
|
|
|
|
Please keep in mind that the demo site does not accept requests from curl, colly, wget, etc. You must use a browser or a tool like Postman to make requests. Too many script kiddies out there, sorry about that.
|
|
contact:
|
|
name: James Cole
|
|
url: https://firefly-iii.org
|
|
email: james@firefly-iii.org
|
|
license:
|
|
name: AGPLv3
|
|
url: https://www.gnu.org/licenses/agpl-3.0.en.html
|
|
version: 2.0.14
|
|
servers:
|
|
- url: https://demo.firefly-iii.org/api
|
|
description: Firefly III demo site
|
|
security:
|
|
- firefly_iii_auth: []
|
|
- local_bearer_auth: []
|
|
tags:
|
|
- name: about
|
|
description: "These endpoints deliver general system information, version- and meta\
|
|
\ information."
|
|
- name: accounts
|
|
description: "Endpoints that deliver all of the user's asset, expense and other\
|
|
\ accounts (and the metadata) together with related transactions, piggy banks\
|
|
\ and other objects. Also delivers endpoints for CRUD operations for accounts."
|
|
- name: attachments
|
|
description: "Endpoints to manage the attachments of the authenticated user, including\
|
|
\ up- and downloading of the files."
|
|
- name: autocomplete
|
|
description: "Auto-complete endpoints show basic information about Firefly III models,\
|
|
\ like the name and maybe some amounts. They all support a search query and can\
|
|
\ be used to autocomplete data in forms. Autocomplete return values always have\
|
|
\ a "name"-field."
|
|
- name: available_budgets
|
|
description: Endpoints to manage the total available amount that the user has made
|
|
available to themselves. Used in periodic budgeting.
|
|
- name: bills
|
|
description: Endpoints to manage a user's bills and all related objects.
|
|
- name: budgets
|
|
description: "Endpoints to manage a user's budgets and get info on the related\
|
|
\ objects, like limits."
|
|
- name: categories
|
|
description: Endpoints to manage a user's categories and get information on
|
|
transactions and other related objects.
|
|
- name: charts
|
|
description: The "charts" endpoints deliver optimised data for charts
|
|
and graphs.
|
|
- name: configuration
|
|
description: These endpoints allow you to manage and update the Firefly III configuration.
|
|
You need to have the "owner" role to update configuration.
|
|
- name: currencies
|
|
description: "Endpoints to manage the currencies in Firefly III. Depending on the\
|
|
\ user's role you can also disable and enable them, or add new ones."
|
|
- name: data
|
|
description: The "data"-endpoints manage generic Firefly III and user-specific
|
|
data.
|
|
- name: insight
|
|
description: "The "insight" endpoints try to deliver sums, balances and\
|
|
\ insightful information in the broadest sense of the word."
|
|
- name: links
|
|
description: "Endpoints to manage links between transactions, and manage the type\
|
|
\ of links available."
|
|
- name: object_groups
|
|
description: Endpoints to control and manage all of the user's object groups.
|
|
Can only be created in conjunction with another object (for example a piggy bank)
|
|
and will auto-delete when no other items are linked to it.
|
|
- name: piggy_banks
|
|
description: Endpoints to control and manage all of the user's piggy banks
|
|
and related objects and information.
|
|
- name: preferences
|
|
description: "These endpoints can be used to manage the user's preferences,\
|
|
\ including some hidden ones."
|
|
- name: recurrences
|
|
description: "Use these endpoints to manage the user's recurring transactions,\
|
|
\ trigger the creation of transactions and manage the settings."
|
|
- name: rule_groups
|
|
description: Manage all of the user's groups of rules and trigger the execution
|
|
of entire groups.
|
|
- name: rules
|
|
description: These endpoints can be used to manage all of the user's rules.
|
|
Also includes triggers to execute or test rules and individual triggers.
|
|
- name: search
|
|
description: "Endpoints that allow you to search through the user's financial\
|
|
\ data. Different from the autocomplete endpoints, the search accepts more advanced\
|
|
\ arguments."
|
|
- name: summary
|
|
description: "These endpoints deliver summaries, like sums, lists of numbers and\
|
|
\ other processed information. Mainly used for the main dashboard and pretty specific\
|
|
\ for Firefly III itself."
|
|
- name: tags
|
|
description: This endpoint manages all of the user's tags.
|
|
- name: transactions
|
|
description: "The most-used endpoints in Firefly III, these endpoints are used to\
|
|
\ manage the user's transactions."
|
|
- name: users
|
|
description: Use these endpoints to manage the users registered within Firefly III.
|
|
You need to have the "owner" role to access these endpoints.
|
|
- name: webhooks
|
|
description: These endpoints can be used to manage the user's webhooks and
|
|
triggers them if necessary.
|
|
paths:
|
|
/v1/autocomplete/accounts:
|
|
get:
|
|
tags:
|
|
- autocomplete
|
|
summary: Returns all accounts of the user returned in a basic auto-complete
|
|
array.
|
|
operationId: getAccountsAC
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: query
|
|
in: query
|
|
description: The autocomplete search query.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: string
|
|
example: string
|
|
- name: limit
|
|
in: query
|
|
description: The number of items returned.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
- name: date
|
|
in: query
|
|
description: "If the account is an asset account or a liability, the autocomplete\
|
|
\ will also return the balance of the account on this date."
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: string
|
|
example: 2020-09-17
|
|
- name: types
|
|
in: query
|
|
description: Optional filter on the account type(s) used in the autocomplete.
|
|
required: false
|
|
style: form
|
|
explode: false
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/AccountTypeFilter'
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: A list of accounts with very basic information.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AutocompleteAccountArray'
|
|
/v1/autocomplete/bills:
|
|
get:
|
|
tags:
|
|
- autocomplete
|
|
summary: Returns all bills of the user returned in a basic auto-complete array.
|
|
operationId: getBillsAC
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: query
|
|
in: query
|
|
description: The autocomplete search query.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: string
|
|
example: string
|
|
- name: limit
|
|
in: query
|
|
description: The number of items returned.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: A list of bills with very basic information.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AutocompleteBillArray'
|
|
/v1/autocomplete/budgets:
|
|
get:
|
|
tags:
|
|
- autocomplete
|
|
summary: Returns all budgets of the user returned in a basic auto-complete array.
|
|
operationId: getBudgetsAC
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: query
|
|
in: query
|
|
description: The autocomplete search query.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: string
|
|
example: string
|
|
- name: limit
|
|
in: query
|
|
description: The number of items returned.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: A list of budgets with very basic information.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AutocompleteBudgetArray'
|
|
/v1/autocomplete/categories:
|
|
get:
|
|
tags:
|
|
- autocomplete
|
|
summary: Returns all categories of the user returned in a basic auto-complete
|
|
array.
|
|
operationId: getCategoriesAC
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: query
|
|
in: query
|
|
description: The autocomplete search query.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: string
|
|
example: string
|
|
- name: limit
|
|
in: query
|
|
description: The number of items returned.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: A list of categories with very basic information.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AutocompleteCategoryArray'
|
|
/v1/autocomplete/currencies:
|
|
get:
|
|
tags:
|
|
- autocomplete
|
|
summary: Returns all currencies of the user returned in a basic auto-complete
|
|
array.
|
|
operationId: getCurrenciesAC
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: query
|
|
in: query
|
|
description: The autocomplete search query.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: string
|
|
example: string
|
|
- name: limit
|
|
in: query
|
|
description: The number of items returned.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: A list of currencies with very basic information.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AutocompleteCurrencyArray'
|
|
/v1/autocomplete/currencies-with-code:
|
|
get:
|
|
tags:
|
|
- autocomplete
|
|
summary: Returns all currencies of the user returned in a basic auto-complete
|
|
array. This endpoint is DEPRECATED and I suggest you DO NOT use it.
|
|
operationId: getCurrenciesCodeAC
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: query
|
|
in: query
|
|
description: The autocomplete search query.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: string
|
|
example: string
|
|
- name: limit
|
|
in: query
|
|
description: The number of items returned.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: A list of currencies with very basic information and the currency
|
|
code between brackets. This endpoint is DEPRECATED and I suggest you DO
|
|
NOT use it.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AutocompleteCurrencyCodeArray'
|
|
/v1/autocomplete/object-groups:
|
|
get:
|
|
tags:
|
|
- autocomplete
|
|
summary: Returns all object groups of the user returned in a basic auto-complete
|
|
array.
|
|
operationId: getObjectGroupsAC
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: query
|
|
in: query
|
|
description: The autocomplete search query.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: string
|
|
example: string
|
|
- name: limit
|
|
in: query
|
|
description: The number of items returned.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: A list of object groups with very basic information.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AutocompleteObjectGroupArray'
|
|
/v1/autocomplete/piggy-banks:
|
|
get:
|
|
tags:
|
|
- autocomplete
|
|
summary: Returns all piggy banks of the user returned in a basic auto-complete
|
|
array.
|
|
operationId: getPiggiesAC
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: query
|
|
in: query
|
|
description: The autocomplete search query.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: string
|
|
example: string
|
|
- name: limit
|
|
in: query
|
|
description: The number of items returned.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: A list of piggy banks with very basic information.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AutocompletePiggyArray'
|
|
/v1/autocomplete/piggy-banks-with-balance:
|
|
get:
|
|
tags:
|
|
- autocomplete
|
|
summary: Returns all piggy banks of the user returned in a basic auto-complete
|
|
array complemented with balance information.
|
|
operationId: getPiggiesBalanceAC
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: query
|
|
in: query
|
|
description: The autocomplete search query.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: string
|
|
example: string
|
|
- name: limit
|
|
in: query
|
|
description: The number of items returned.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: A list of piggy banks with very basic balance information.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AutocompletePiggyBalanceArray'
|
|
/v1/autocomplete/recurring:
|
|
get:
|
|
tags:
|
|
- autocomplete
|
|
summary: Returns all recurring transactions of the user returned in a basic
|
|
auto-complete array.
|
|
operationId: getRecurringAC
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: query
|
|
in: query
|
|
description: The autocomplete search query.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: string
|
|
example: string
|
|
- name: limit
|
|
in: query
|
|
description: The number of items returned.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: A list of recurring transactions with very basic information.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AutocompleteRecurrenceArray'
|
|
/v1/autocomplete/rule-groups:
|
|
get:
|
|
tags:
|
|
- autocomplete
|
|
summary: Returns all rule groups of the user returned in a basic auto-complete
|
|
array.
|
|
operationId: getRuleGroupsAC
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: query
|
|
in: query
|
|
description: The autocomplete search query.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: string
|
|
example: string
|
|
- name: limit
|
|
in: query
|
|
description: The number of items returned.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: A list of rule groups with very basic information.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AutocompleteRuleGroupArray'
|
|
/v1/autocomplete/rules:
|
|
get:
|
|
tags:
|
|
- autocomplete
|
|
summary: Returns all rules of the user returned in a basic auto-complete array.
|
|
operationId: getRulesAC
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: query
|
|
in: query
|
|
description: The autocomplete search query.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: string
|
|
example: string
|
|
- name: limit
|
|
in: query
|
|
description: The number of items returned.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: A list of rules with very basic information.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AutocompleteRuleArray'
|
|
/v1/autocomplete/tags:
|
|
get:
|
|
tags:
|
|
- autocomplete
|
|
summary: Returns all tags of the user returned in a basic auto-complete array.
|
|
operationId: getTagAC
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: query
|
|
in: query
|
|
description: The autocomplete search query.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: string
|
|
example: string
|
|
- name: limit
|
|
in: query
|
|
description: The number of items returned.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: A list of tags with very basic information.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AutocompleteTagArray'
|
|
/v1/autocomplete/transaction-types:
|
|
get:
|
|
tags:
|
|
- autocomplete
|
|
summary: Returns all transaction types returned in a basic auto-complete array.
|
|
English only.
|
|
operationId: getTransactionTypesAC
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: query
|
|
in: query
|
|
description: The autocomplete search query.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: string
|
|
example: string
|
|
- name: limit
|
|
in: query
|
|
description: The number of items returned.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: A list of transaction types with very basic information.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AutocompleteTransactionTypeArray'
|
|
/v1/autocomplete/transactions:
|
|
get:
|
|
tags:
|
|
- autocomplete
|
|
summary: Returns all transaction descriptions of the user returned in a basic
|
|
auto-complete array.
|
|
operationId: getTransactionsAC
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: query
|
|
in: query
|
|
description: The autocomplete search query.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: string
|
|
example: string
|
|
- name: limit
|
|
in: query
|
|
description: The number of items returned.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: A list of transaction descriptions with very basic information.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AutocompleteTransactionArray'
|
|
/v1/autocomplete/transactions-with-id:
|
|
get:
|
|
tags:
|
|
- autocomplete
|
|
summary: "Returns all transactions, complemented with their ID, of the user\
|
|
\ returned in a basic auto-complete array. This endpoint is DEPRECATED and\
|
|
\ I suggest you DO NOT use it."
|
|
operationId: getTransactionsIDAC
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: query
|
|
in: query
|
|
description: The autocomplete search query.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: string
|
|
example: string
|
|
- name: limit
|
|
in: query
|
|
description: The number of items returned.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: A list of transactions with very basic information. This endpoint
|
|
is DEPRECATED and I suggest you DO NOT use it.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AutocompleteTransactionIDArray'
|
|
/v1/chart/account/overview:
|
|
get:
|
|
tags:
|
|
- charts
|
|
summary: Dashboard chart with asset account balance information.
|
|
description: |
|
|
This endpoint returns the data required to generate a chart with basic asset account balance information.
|
|
operationId: getChartAccountOverview
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: start
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD.
|
|
required: true
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
- name: end
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD.
|
|
required: true
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: Line chart oriented chart information. Check out the model
|
|
for more details. Each entry is a line (or bar) in the chart.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ChartLine'
|
|
/v1/data/bulk/transactions:
|
|
post:
|
|
tags:
|
|
- data
|
|
summary: "Bulk update transaction properties. For more information, see https://docs.firefly-iii.org/references/firefly-iii/api/specials/"
|
|
description: |
|
|
Allows you to update transactions in bulk.
|
|
operationId: bulkUpdateTransactions
|
|
parameters:
|
|
- name: query
|
|
in: query
|
|
description: The JSON query.
|
|
required: true
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: json
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"204":
|
|
description: Empty response when the update was successful. A future improvement
|
|
is to include the changed transactions.
|
|
/v1/data/destroy:
|
|
delete:
|
|
tags:
|
|
- data
|
|
summary: Endpoint to destroy user data
|
|
description: |
|
|
A call to this endpoint deletes the requested data type. Use it with care and always with user permission.
|
|
The demo user is incapable of using this endpoint.
|
|
operationId: destroyData
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: objects
|
|
in: query
|
|
description: The type of data that you wish to destroy. You can only use one
|
|
at a time.
|
|
required: true
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
$ref: '#/components/schemas/DataDestroyObject'
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"204":
|
|
description: Empty response when data has been destroyed.
|
|
/v1/data/export/accounts:
|
|
get:
|
|
tags:
|
|
- data
|
|
summary: Export account data from Firefly III
|
|
description: |
|
|
This endpoint allows you to export your accounts from Firefly III into a file. Currently supports CSV exports only.
|
|
operationId: exportAccounts
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: type
|
|
in: query
|
|
description: The file type the export file (CSV is currently the only option).
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
$ref: '#/components/schemas/ExportFileFilter'
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: The exported transaction in a file.
|
|
content:
|
|
application/octet-stream:
|
|
schema:
|
|
type: string
|
|
format: binary
|
|
x-content-type: application/octet-stream
|
|
/v1/data/export/bills:
|
|
get:
|
|
tags:
|
|
- data
|
|
summary: Export bills from Firefly III
|
|
description: |
|
|
This endpoint allows you to export your bills from Firefly III into a file. Currently supports CSV exports only.
|
|
operationId: exportBills
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: type
|
|
in: query
|
|
description: The file type the export file (CSV is currently the only option).
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
$ref: '#/components/schemas/ExportFileFilter'
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: The exported transaction in a file.
|
|
content:
|
|
application/octet-stream:
|
|
schema:
|
|
type: string
|
|
format: binary
|
|
x-content-type: application/octet-stream
|
|
/v1/data/export/budgets:
|
|
get:
|
|
tags:
|
|
- data
|
|
summary: Export budgets and budget amount data from Firefly III
|
|
description: |
|
|
This endpoint allows you to export your budgets and associated budget data from Firefly III into a file. Currently supports CSV exports only.
|
|
operationId: exportBudgets
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: type
|
|
in: query
|
|
description: The file type the export file (CSV is currently the only option).
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
$ref: '#/components/schemas/ExportFileFilter'
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: The exported transaction in a file.
|
|
content:
|
|
application/octet-stream:
|
|
schema:
|
|
type: string
|
|
format: binary
|
|
x-content-type: application/octet-stream
|
|
/v1/data/export/categories:
|
|
get:
|
|
tags:
|
|
- data
|
|
summary: Export category data from Firefly III
|
|
description: |
|
|
This endpoint allows you to export your categories from Firefly III into a file. Currently supports CSV exports only.
|
|
operationId: exportCategories
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: type
|
|
in: query
|
|
description: The file type the export file (CSV is currently the only option).
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
$ref: '#/components/schemas/ExportFileFilter'
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: The exported transaction in a file.
|
|
content:
|
|
application/octet-stream:
|
|
schema:
|
|
type: string
|
|
format: binary
|
|
x-content-type: application/octet-stream
|
|
/v1/data/export/piggy-banks:
|
|
get:
|
|
tags:
|
|
- data
|
|
summary: Export piggy banks from Firefly III
|
|
description: |
|
|
This endpoint allows you to export your piggy banks from Firefly III into a file. Currently supports CSV exports only.
|
|
operationId: exportPiggies
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: type
|
|
in: query
|
|
description: The file type the export file (CSV is currently the only option).
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
$ref: '#/components/schemas/ExportFileFilter'
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: The exported transaction in a file.
|
|
content:
|
|
application/octet-stream:
|
|
schema:
|
|
type: string
|
|
format: binary
|
|
x-content-type: application/octet-stream
|
|
/v1/data/export/recurring:
|
|
get:
|
|
tags:
|
|
- data
|
|
summary: Export recurring transaction data from Firefly III
|
|
description: |
|
|
This endpoint allows you to export your recurring transactions from Firefly III into a file. Currently supports CSV exports only.
|
|
operationId: exportRecurring
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: type
|
|
in: query
|
|
description: The file type the export file (CSV is currently the only option).
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
$ref: '#/components/schemas/ExportFileFilter'
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: The exported transaction in a file.
|
|
content:
|
|
application/octet-stream:
|
|
schema:
|
|
type: string
|
|
format: binary
|
|
x-content-type: application/octet-stream
|
|
/v1/data/export/rules:
|
|
get:
|
|
tags:
|
|
- data
|
|
summary: Export rule groups and rule data from Firefly III
|
|
description: |
|
|
This endpoint allows you to export your rules and rule groups from Firefly III into a file. Currently supports CSV exports only.
|
|
operationId: exportRules
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: type
|
|
in: query
|
|
description: The file type the export file (CSV is currently the only option).
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
$ref: '#/components/schemas/ExportFileFilter'
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: The exported transaction in a file.
|
|
content:
|
|
application/octet-stream:
|
|
schema:
|
|
type: string
|
|
format: binary
|
|
x-content-type: application/octet-stream
|
|
/v1/data/export/tags:
|
|
get:
|
|
tags:
|
|
- data
|
|
summary: Export tag data from Firefly III
|
|
description: |
|
|
This endpoint allows you to export your tags from Firefly III into a file. Currently supports CSV exports only.
|
|
operationId: exportTags
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: type
|
|
in: query
|
|
description: The file type the export file (CSV is currently the only option).
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
$ref: '#/components/schemas/ExportFileFilter'
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: The exported transaction in a file.
|
|
content:
|
|
application/octet-stream:
|
|
schema:
|
|
type: string
|
|
format: binary
|
|
x-content-type: application/octet-stream
|
|
/v1/data/export/transactions:
|
|
get:
|
|
tags:
|
|
- data
|
|
summary: Export transaction data from Firefly III
|
|
description: |
|
|
This endpoint allows you to export transactions from Firefly III into a file. Currently supports CSV exports only.
|
|
operationId: exportTransactions
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: start
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD.
|
|
required: true
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
- name: end
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD.
|
|
required: true
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
- name: accounts
|
|
in: query
|
|
description: |
|
|
Limit the export of transactions to these accounts only. Only asset accounts will be accepted. Other types will be silently dropped.
|
|
required: false
|
|
style: form
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: string
|
|
example: "1,2,3"
|
|
- name: type
|
|
in: query
|
|
description: The file type the export file (CSV is currently the only option).
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
$ref: '#/components/schemas/ExportFileFilter'
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: The exported transaction in a file.
|
|
content:
|
|
application/octet-stream:
|
|
schema:
|
|
type: string
|
|
format: binary
|
|
x-content-type: application/octet-stream
|
|
/v1/data/purge:
|
|
delete:
|
|
tags:
|
|
- data
|
|
summary: Endpoint to purge user data
|
|
description: |
|
|
A call to this endpoint purges all previously deleted data. Use it with care and always with user permission.
|
|
The demo user is incapable of using this endpoint.
|
|
operationId: purgeData
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"204":
|
|
description: Empty response when data has been purged.
|
|
/v1/insight/expense/expense:
|
|
get:
|
|
tags:
|
|
- insight
|
|
summary: "Insight into expenses, grouped by expense account."
|
|
description: |
|
|
This endpoint gives a summary of the expenses made by the user, grouped by expense account.
|
|
operationId: insightExpenseExpense
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: start
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD.
|
|
required: true
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
- name: end
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD.
|
|
required: true
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
- name: "accounts[]"
|
|
in: query
|
|
description: |
|
|
The accounts to be included in the results. If you add the accounts ID's of expense accounts, only those accounts
|
|
are included in the results. If you include ID's of asset accounts or liabilities, only withdrawals from those
|
|
asset accounts / liabilities will be included. You can combine both asset / liability and expense account ID's.
|
|
Other account ID's will be ignored.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: array
|
|
example:
|
|
- 1
|
|
- 2
|
|
- 3
|
|
items:
|
|
type: integer
|
|
format: int64
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: A list of expense accounts and expense details. Each expense
|
|
acccount has one row per currency.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InsightGroup'
|
|
/v1/insight/expense/asset:
|
|
get:
|
|
tags:
|
|
- insight
|
|
summary: "Insight into expenses, grouped by asset account."
|
|
description: |
|
|
This endpoint gives a summary of the expenses made by the user, grouped by asset account.
|
|
operationId: insightExpenseAsset
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: start
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD.
|
|
required: true
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
- name: end
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD.
|
|
required: true
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
- name: "accounts[]"
|
|
in: query
|
|
description: |
|
|
The accounts to be included in the results. If you include ID's of asset accounts or liabilities, only withdrawals from those
|
|
asset accounts / liabilities will be included. Other account ID's will be ignored.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: array
|
|
example:
|
|
- 1
|
|
- 2
|
|
- 3
|
|
items:
|
|
type: integer
|
|
format: int64
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: A list of asset accounts and expense details. Each asset account
|
|
has one row per currency.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InsightGroup'
|
|
/v1/insight/income/revenue:
|
|
get:
|
|
tags:
|
|
- insight
|
|
summary: "Insight into income, grouped by revenue account."
|
|
description: |
|
|
This endpoint gives a summary of the income received by the user, grouped by revenue account.
|
|
operationId: insightIncomeRevenue
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: start
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD.
|
|
required: true
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
- name: end
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD.
|
|
required: true
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
- name: "accounts[]"
|
|
in: query
|
|
description: |
|
|
The accounts to be included in the results. If you add the accounts ID's of revenue accounts, only those accounts
|
|
are included in the results. If you include ID's of asset accounts or liabilities, only deposits to those
|
|
asset accounts / liabilities will be included. You can combine both asset / liability and deposit account ID's.
|
|
Other account ID's will be ignored.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: array
|
|
example:
|
|
- 1
|
|
- 2
|
|
- 3
|
|
items:
|
|
type: integer
|
|
format: int64
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: A list of revenue accounts and income details. Each revenue
|
|
acccount has one row per currency.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InsightGroup'
|
|
/v1/insight/income/asset:
|
|
get:
|
|
tags:
|
|
- insight
|
|
summary: "Insight into income, grouped by asset account."
|
|
description: |
|
|
This endpoint gives a summary of the income received by the user, grouped by asset account.
|
|
operationId: insightIncomeAsset
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: start
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD.
|
|
required: true
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
- name: end
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD.
|
|
required: true
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
- name: "accounts[]"
|
|
in: query
|
|
description: |
|
|
The accounts to be included in the results. If you include ID's of asset accounts or liabilities, only deposits to those
|
|
asset accounts / liabilities will be included. Other account ID's will be ignored.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: array
|
|
example:
|
|
- 1
|
|
- 2
|
|
- 3
|
|
items:
|
|
type: integer
|
|
format: int64
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: A list of asset accounts and income details. Each asset account
|
|
has one row per currency.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InsightGroup'
|
|
/v1/insight/transfer/asset:
|
|
get:
|
|
tags:
|
|
- insight
|
|
summary: "Insight into transfers, grouped by account."
|
|
description: |
|
|
This endpoint gives a summary of the transfers made by the user, grouped by asset account or lability.
|
|
operationId: insightTransfers
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: start
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD.
|
|
required: true
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
- name: end
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD.
|
|
required: true
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
- name: "accounts[]"
|
|
in: query
|
|
description: |
|
|
The accounts to be included in the results. If you include ID's of asset accounts or liabilities, only transfers between those
|
|
asset accounts / liabilities will be included. Other account ID's will be ignored.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: array
|
|
example:
|
|
- 1
|
|
- 2
|
|
- 3
|
|
items:
|
|
type: integer
|
|
format: int64
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: A list of asset accounts and transfer details. Each asset account
|
|
has one row per currency.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InsightTransfer'
|
|
/v1/insight/expense/bill:
|
|
get:
|
|
tags:
|
|
- insight
|
|
summary: "Insight into expenses, grouped by bill."
|
|
description: |
|
|
This endpoint gives a summary of the expenses made by the user, grouped by (any) bill.
|
|
operationId: insightExpenseBill
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: start
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD.
|
|
required: true
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
- name: end
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD.
|
|
required: true
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
- name: "bills[]"
|
|
in: query
|
|
description: |
|
|
The bills to be included in the results.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: array
|
|
example:
|
|
- 1
|
|
- 2
|
|
- 3
|
|
items:
|
|
type: integer
|
|
format: int64
|
|
- name: "accounts[]"
|
|
in: query
|
|
description: |
|
|
The accounts to be included in the results. If you include ID's of asset accounts or liabilities, only withdrawals from those
|
|
asset accounts / liabilities will be included. Other account ID's will be ignored.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: array
|
|
example:
|
|
- 1
|
|
- 2
|
|
- 3
|
|
items:
|
|
type: integer
|
|
format: int64
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: A list of budget and expense details. Each budget has one row
|
|
per currency.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InsightGroup'
|
|
/v1/insight/expense/no-bill:
|
|
get:
|
|
tags:
|
|
- insight
|
|
summary: "Insight into expenses, without bill."
|
|
description: |
|
|
This endpoint gives a summary of the expenses made by the user, including only expenses with no bill.
|
|
operationId: insightExpenseNoBill
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: start
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD.
|
|
required: true
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
- name: end
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD.
|
|
required: true
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
- name: "accounts[]"
|
|
in: query
|
|
description: |
|
|
The accounts to be included in the results. If you include ID's of asset accounts or liabilities, only withdrawals from those
|
|
asset accounts / liabilities will be included. Other account ID's will be ignored.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: array
|
|
example:
|
|
- 1
|
|
- 2
|
|
- 3
|
|
items:
|
|
type: integer
|
|
format: int64
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: A list of expense details. One row per currency.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InsightTotal'
|
|
/v1/insight/expense/budget:
|
|
get:
|
|
tags:
|
|
- insight
|
|
summary: "Insight into expenses, grouped by budget."
|
|
description: |
|
|
This endpoint gives a summary of the expenses made by the user, grouped by (any) budget.
|
|
operationId: insightExpenseBudget
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: start
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD.
|
|
required: true
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
- name: end
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD.
|
|
required: true
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
- name: "budgets[]"
|
|
in: query
|
|
description: |
|
|
The budgets to be included in the results.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: array
|
|
example:
|
|
- 1
|
|
- 2
|
|
- 3
|
|
items:
|
|
type: integer
|
|
format: int64
|
|
- name: "accounts[]"
|
|
in: query
|
|
description: |
|
|
The accounts to be included in the results. If you include ID's of asset accounts or liabilities, only withdrawals from those
|
|
asset accounts / liabilities will be included. Other account ID's will be ignored.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: array
|
|
example:
|
|
- 1
|
|
- 2
|
|
- 3
|
|
items:
|
|
type: integer
|
|
format: int64
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: A list of budget and expense details. Each budget has one row
|
|
per currency.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InsightGroup'
|
|
/v1/insight/expense/no-budget:
|
|
get:
|
|
tags:
|
|
- insight
|
|
summary: "Insight into expenses, without budget."
|
|
description: |
|
|
This endpoint gives a summary of the expenses made by the user, including only expenses with no budget.
|
|
operationId: insightExpenseNoBudget
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: start
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD.
|
|
required: true
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
- name: end
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD.
|
|
required: true
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
- name: "accounts[]"
|
|
in: query
|
|
description: |
|
|
The accounts to be included in the results. If you include ID's of asset accounts or liabilities, only withdrawals from those
|
|
asset accounts / liabilities will be included. Other account ID's will be ignored.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: array
|
|
example:
|
|
- 1
|
|
- 2
|
|
- 3
|
|
items:
|
|
type: integer
|
|
format: int64
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: A list of expense details. One row per currency.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InsightTotal'
|
|
/v1/insight/expense/category:
|
|
get:
|
|
tags:
|
|
- insight
|
|
summary: "Insight into expenses, grouped by category."
|
|
description: |
|
|
This endpoint gives a summary of the expenses made by the user, grouped by (any) category.
|
|
operationId: insightExpenseCategory
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: start
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD.
|
|
required: true
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
- name: end
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD.
|
|
required: true
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
- name: "categories[]"
|
|
in: query
|
|
description: |
|
|
The categories to be included in the results.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: array
|
|
example:
|
|
- 1
|
|
- 2
|
|
- 3
|
|
items:
|
|
type: integer
|
|
format: int64
|
|
- name: "accounts[]"
|
|
in: query
|
|
description: |
|
|
The accounts to be included in the results. If you include ID's of asset accounts or liabilities, only withdrawals from those
|
|
asset accounts / liabilities will be included. Other account ID's will be ignored.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: array
|
|
example:
|
|
- 1
|
|
- 2
|
|
- 3
|
|
items:
|
|
type: integer
|
|
format: int64
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: A list of category and expense details. Each category has one
|
|
row per currency.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InsightGroup'
|
|
/v1/insight/expense/no-category:
|
|
get:
|
|
tags:
|
|
- insight
|
|
summary: "Insight into expenses, without category."
|
|
description: |
|
|
This endpoint gives a summary of the expenses made by the user, including only expenses with no category.
|
|
operationId: insightExpenseNoCategory
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: start
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD.
|
|
required: true
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
- name: end
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD.
|
|
required: true
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
- name: "accounts[]"
|
|
in: query
|
|
description: |
|
|
The accounts to be included in the results. If you include ID's of asset accounts or liabilities, only withdrawals from those
|
|
asset accounts / liabilities will be included. Other account ID's will be ignored.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: array
|
|
example:
|
|
- 1
|
|
- 2
|
|
- 3
|
|
items:
|
|
type: integer
|
|
format: int64
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: A list of expense details. One row per currency.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InsightTotal'
|
|
/v1/insight/income/category:
|
|
get:
|
|
tags:
|
|
- insight
|
|
summary: "Insight into income, grouped by category."
|
|
description: |
|
|
This endpoint gives a summary of the income received by the user, grouped by (any) category.
|
|
operationId: insightIncomeCategory
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: start
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD.
|
|
required: true
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
- name: end
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD.
|
|
required: true
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
- name: "categories[]"
|
|
in: query
|
|
description: |
|
|
The categories to be included in the results.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: array
|
|
example:
|
|
- 1
|
|
- 2
|
|
- 3
|
|
items:
|
|
type: integer
|
|
format: int64
|
|
- name: "accounts[]"
|
|
in: query
|
|
description: |
|
|
The accounts to be included in the results. If you include ID's of asset accounts or liabilities, only deposits to those
|
|
asset accounts / liabilities will be included. Other account ID's will be ignored.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: array
|
|
example:
|
|
- 1
|
|
- 2
|
|
- 3
|
|
items:
|
|
type: integer
|
|
format: int64
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: A list of category and income details. Each category has one
|
|
row per currency.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InsightGroup'
|
|
/v1/insight/income/no-category:
|
|
get:
|
|
tags:
|
|
- insight
|
|
summary: "Insight into income, without category."
|
|
description: |
|
|
This endpoint gives a summary of the income received by the user, including only income with no category.
|
|
operationId: insightIncomeNoCategory
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: start
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD.
|
|
required: true
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
- name: end
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD.
|
|
required: true
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
- name: "accounts[]"
|
|
in: query
|
|
description: |
|
|
The accounts to be included in the results. If you include ID's of asset accounts or liabilities, only deposits to those
|
|
asset accounts / liabilities will be included. Other account ID's will be ignored.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: array
|
|
example:
|
|
- 1
|
|
- 2
|
|
- 3
|
|
items:
|
|
type: integer
|
|
format: int64
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: A list of income details. One row per currency.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InsightTotal'
|
|
/v1/insight/transfer/category:
|
|
get:
|
|
tags:
|
|
- insight
|
|
summary: "Insight into transfers, grouped by category."
|
|
description: |
|
|
This endpoint gives a summary of the transfers made by the user, grouped by (any) category.
|
|
operationId: insightTransferCategory
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: start
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD.
|
|
required: true
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
- name: end
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD.
|
|
required: true
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
- name: "categories[]"
|
|
in: query
|
|
description: |
|
|
The categories to be included in the results.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: array
|
|
example:
|
|
- 1
|
|
- 2
|
|
- 3
|
|
items:
|
|
type: integer
|
|
format: int64
|
|
- name: "accounts[]"
|
|
in: query
|
|
description: |
|
|
The accounts to be included in the results. If you include ID's of asset accounts or liabilities, only transfers between those
|
|
asset accounts / liabilities will be included. Other account ID's will be ignored.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: array
|
|
example:
|
|
- 1
|
|
- 2
|
|
- 3
|
|
items:
|
|
type: integer
|
|
format: int64
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: A list of category and transfer details. Each category has
|
|
one row per currency.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InsightGroup'
|
|
/v1/insight/transfer/no-category:
|
|
get:
|
|
tags:
|
|
- insight
|
|
summary: "Insight into transfers, without category."
|
|
description: |
|
|
This endpoint gives a summary of the transfers made by the user, including only transfers with no category.
|
|
operationId: insightTransferNoCategory
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: start
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD.
|
|
required: true
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
- name: end
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD.
|
|
required: true
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
- name: "accounts[]"
|
|
in: query
|
|
description: |
|
|
The accounts to be included in the results. If you include ID's of asset accounts or liabilities, only transfers between those
|
|
asset accounts / liabilities will be included. Other account ID's will be ignored.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: array
|
|
example:
|
|
- 1
|
|
- 2
|
|
- 3
|
|
items:
|
|
type: integer
|
|
format: int64
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: A list of transfer details. One row per currency.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InsightTotal'
|
|
/v1/insight/expense/tag:
|
|
get:
|
|
tags:
|
|
- insight
|
|
summary: "Insight into expenses, grouped by tag."
|
|
description: |
|
|
This endpoint gives a summary of the expenses made by the user, grouped by (any) tag.
|
|
operationId: insightExpenseTag
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: start
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD.
|
|
required: true
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
- name: end
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD.
|
|
required: true
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
- name: "tags[]"
|
|
in: query
|
|
description: |
|
|
The tags to be included in the results.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: array
|
|
example:
|
|
- 1
|
|
- 2
|
|
- 3
|
|
items:
|
|
type: integer
|
|
format: int64
|
|
- name: "accounts[]"
|
|
in: query
|
|
description: |
|
|
The accounts to be included in the results. If you include ID's of asset accounts or liabilities, only withdrawals from those
|
|
asset accounts / liabilities will be included. Other account ID's will be ignored.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: array
|
|
example:
|
|
- 1
|
|
- 2
|
|
- 3
|
|
items:
|
|
type: integer
|
|
format: int64
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: A list of tag and expense details. Each tag has one row per
|
|
currency.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InsightGroup'
|
|
/v1/insight/expense/no-tag:
|
|
get:
|
|
tags:
|
|
- insight
|
|
summary: "Insight into expenses, without tag."
|
|
description: |
|
|
This endpoint gives a summary of the expenses made by the user, including only expenses with no tag.
|
|
operationId: insightExpenseNoTag
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: start
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD.
|
|
required: true
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
- name: end
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD.
|
|
required: true
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
- name: "accounts[]"
|
|
in: query
|
|
description: |
|
|
The accounts to be included in the results. If you include ID's of asset accounts or liabilities, only withdrawals from those
|
|
asset accounts / liabilities will be included. Other account ID's will be ignored.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: array
|
|
example:
|
|
- 1
|
|
- 2
|
|
- 3
|
|
items:
|
|
type: integer
|
|
format: int64
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: A list of expense details. One row per currency.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InsightTotal'
|
|
/v1/insight/income/tag:
|
|
get:
|
|
tags:
|
|
- insight
|
|
summary: "Insight into income, grouped by tag."
|
|
description: |
|
|
This endpoint gives a summary of the income received by the user, grouped by (any) tag.
|
|
operationId: insightIncomeTag
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: start
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD.
|
|
required: true
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
- name: end
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD.
|
|
required: true
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
- name: "tags[]"
|
|
in: query
|
|
description: |
|
|
The tags to be included in the results.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: array
|
|
example:
|
|
- 1
|
|
- 2
|
|
- 3
|
|
items:
|
|
type: integer
|
|
format: int64
|
|
- name: "accounts[]"
|
|
in: query
|
|
description: |
|
|
The accounts to be included in the results. If you include ID's of asset accounts or liabilities, only deposits to those
|
|
asset accounts / liabilities will be included. Other account ID's will be ignored.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: array
|
|
example:
|
|
- 1
|
|
- 2
|
|
- 3
|
|
items:
|
|
type: integer
|
|
format: int64
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: A list of tag and income details. Each tag has one row per
|
|
currency.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InsightGroup'
|
|
/v1/insight/income/no-tag:
|
|
get:
|
|
tags:
|
|
- insight
|
|
summary: "Insight into income, without tag."
|
|
description: |
|
|
This endpoint gives a summary of the income received by the user, including only income with no tag.
|
|
operationId: insightIncomeNoTag
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: start
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD.
|
|
required: true
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
- name: end
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD.
|
|
required: true
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
- name: "accounts[]"
|
|
in: query
|
|
description: |
|
|
The accounts to be included in the results. If you include ID's of asset accounts or liabilities, only deposits to those
|
|
asset accounts / liabilities will be included. Other account ID's will be ignored.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: array
|
|
example:
|
|
- 1
|
|
- 2
|
|
- 3
|
|
items:
|
|
type: integer
|
|
format: int64
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: A list of income details. One row per currency.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InsightTotal'
|
|
/v1/insight/transfer/tag:
|
|
get:
|
|
tags:
|
|
- insight
|
|
summary: "Insight into transfers, grouped by tag."
|
|
description: |
|
|
This endpoint gives a summary of the transfers created by the user, grouped by (any) tag.
|
|
operationId: insightTransferTag
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: start
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD.
|
|
required: true
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
- name: end
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD.
|
|
required: true
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
- name: "tags[]"
|
|
in: query
|
|
description: |
|
|
The tags to be included in the results.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: array
|
|
example:
|
|
- 1
|
|
- 2
|
|
- 3
|
|
items:
|
|
type: integer
|
|
format: int64
|
|
- name: "accounts[]"
|
|
in: query
|
|
description: |
|
|
The accounts to be included in the results. If you include ID's of asset accounts or liabilities, only transfers between those
|
|
asset accounts / liabilities will be included. Other account ID's will be ignored.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: array
|
|
example:
|
|
- 1
|
|
- 2
|
|
- 3
|
|
items:
|
|
type: integer
|
|
format: int64
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: A list of tag and transfer details. Each tag has one row per
|
|
currency.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InsightGroup'
|
|
/v1/insight/transfer/no-tag:
|
|
get:
|
|
tags:
|
|
- insight
|
|
summary: "Insight into expenses, without tag."
|
|
description: |
|
|
This endpoint gives a summary of the transfers made by the user, including only transfers with no tag.
|
|
operationId: insightTransferNoTag
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: start
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD.
|
|
required: true
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
- name: end
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD.
|
|
required: true
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
- name: "accounts[]"
|
|
in: query
|
|
description: |
|
|
The accounts to be included in the results. If you include ID's of asset accounts or liabilities, only transfers from those
|
|
asset accounts / liabilities will be included. Other account ID's will be ignored.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: array
|
|
example:
|
|
- 1
|
|
- 2
|
|
- 3
|
|
items:
|
|
type: integer
|
|
format: int64
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: A list of transfer details. One row per currency.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InsightTotal'
|
|
/v1/insight/expense/total:
|
|
get:
|
|
tags:
|
|
- insight
|
|
summary: Insight into total expenses.
|
|
description: |
|
|
This endpoint gives a sum of the total expenses made by the user.
|
|
operationId: insightExpenseTotal
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: start
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD.
|
|
required: true
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
- name: end
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD.
|
|
required: true
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
- name: "accounts[]"
|
|
in: query
|
|
description: |
|
|
The accounts to be included in the results. If you include ID's of asset accounts or liabilities, only withdrawals from those
|
|
asset accounts / liabilities will be included. Other account ID's will be ignored.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: array
|
|
example:
|
|
- 1
|
|
- 2
|
|
- 3
|
|
items:
|
|
type: integer
|
|
format: int64
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: A list of sums in different currencies.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InsightTotal'
|
|
/v1/insight/income/total:
|
|
get:
|
|
tags:
|
|
- insight
|
|
summary: Insight into total income.
|
|
description: |
|
|
This endpoint gives a sum of the total income received by the user.
|
|
operationId: insightIncomeTotal
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: start
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD.
|
|
required: true
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
- name: end
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD.
|
|
required: true
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
- name: "accounts[]"
|
|
in: query
|
|
description: |
|
|
The accounts to be included in the results. If you include ID's of asset accounts or liabilities, only deposits to those
|
|
asset accounts / liabilities will be included. Other account ID's will be ignored.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: array
|
|
example:
|
|
- 1
|
|
- 2
|
|
- 3
|
|
items:
|
|
type: integer
|
|
format: int64
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: A list of sums in different currencies.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InsightTotal'
|
|
/v1/insight/transfer/total:
|
|
get:
|
|
tags:
|
|
- insight
|
|
summary: Insight into total transfers.
|
|
description: |
|
|
This endpoint gives a sum of the total amount transfers made by the user.
|
|
operationId: insightTransferTotal
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: start
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD.
|
|
required: true
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
- name: end
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD.
|
|
required: true
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
- name: "accounts[]"
|
|
in: query
|
|
description: |
|
|
The accounts to be included in the results. If you include ID's of asset accounts or liabilities, only transfers between those
|
|
asset accounts / liabilities will be included. Other account ID's will be ignored.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: array
|
|
example:
|
|
- 1
|
|
- 2
|
|
- 3
|
|
items:
|
|
type: integer
|
|
format: int64
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: A list of sums in different currencies.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InsightTotal'
|
|
/v1/accounts/{id}/transactions:
|
|
get:
|
|
tags:
|
|
- accounts
|
|
summary: List all transactions related to the account.
|
|
description: |
|
|
This endpoint returns a list of all the transactions connected to the account.
|
|
operationId: listTransactionByAccount
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: limit
|
|
in: query
|
|
description: Number of items per page. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
- name: page
|
|
in: query
|
|
description: Page number. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 1
|
|
- name: id
|
|
in: path
|
|
description: The ID of the account.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
- name: start
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
example: 2018-09-17
|
|
- name: end
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
example: 2018-09-17
|
|
- name: type
|
|
in: query
|
|
description: Optional filter on the transaction type(s) returned.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
$ref: '#/components/schemas/TransactionTypeFilter'
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: A list of transactions
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/TransactionArray'
|
|
/v1/accounts/{id}/attachments:
|
|
get:
|
|
tags:
|
|
- accounts
|
|
summary: Lists all attachments.
|
|
description: Lists all attachments.
|
|
operationId: listAttachmentByAccount
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: limit
|
|
in: query
|
|
description: Number of items per page. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
- name: page
|
|
in: query
|
|
description: Page number. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 1
|
|
- name: id
|
|
in: path
|
|
description: The ID of the account.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: A list of attachments
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/AttachmentArray'
|
|
/v1/accounts/{id}/piggy-banks:
|
|
get:
|
|
tags:
|
|
- accounts
|
|
summary: List all piggy banks related to the account.
|
|
description: |
|
|
This endpoint returns a list of all the piggy banks connected to the account.
|
|
operationId: listPiggyBankByAccount
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: limit
|
|
in: query
|
|
description: Number of items per page. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
- name: page
|
|
in: query
|
|
description: Page number. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 1
|
|
- name: id
|
|
in: path
|
|
description: The ID of the account.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: A list of piggy banks
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/PiggyBankArray'
|
|
/v1/accounts:
|
|
get:
|
|
tags:
|
|
- accounts
|
|
summary: List all accounts.
|
|
description: |
|
|
This endpoint returns a list of all the accounts owned by the authenticated user.
|
|
operationId: listAccount
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: limit
|
|
in: query
|
|
description: Number of items per page. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
- name: page
|
|
in: query
|
|
description: Page number. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 1
|
|
- name: date
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD. When added to the request, Firefly III will show the account's balance on that day.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
- name: type
|
|
in: query
|
|
description: Optional filter on the account type(s) returned
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
$ref: '#/components/schemas/AccountTypeFilter'
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: A list of accounts
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/AccountArray'
|
|
post:
|
|
tags:
|
|
- accounts
|
|
summary: Create new account.
|
|
description: "Creates a new account. The data required can be submitted as a\
|
|
\ JSON body or as a list of parameters (in key=value pairs, like a webform)."
|
|
operationId: storeAccount
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
description: JSON array with the necessary account information or key=value
|
|
pairs. See the model for the exact specifications.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AccountStore'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/AccountStore'
|
|
required: true
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"422":
|
|
description: Validation error. The body will have the exact details.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ValidationErrorResponse'
|
|
"200":
|
|
description: "New account stored, result in response."
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/AccountSingle'
|
|
/v1/accounts/{id}:
|
|
get:
|
|
tags:
|
|
- accounts
|
|
summary: Get single account.
|
|
description: |
|
|
Returns a single account by its ID.
|
|
operationId: getAccount
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The ID of the account.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
- name: date
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD. When added to the request, Firefly III will show the account's balance on that day.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: The requested account
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/AccountSingle'
|
|
put:
|
|
tags:
|
|
- accounts
|
|
summary: Update existing account.
|
|
description: |
|
|
Used to update a single account. All fields that are not submitted will be cleared (set to NULL). The model will tell you which fields are mandatory.
|
|
operationId: updateAccount
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The ID of the account.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
requestBody:
|
|
description: JSON array or formdata with updated account information. See
|
|
the model for the exact specifications.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AccountUpdate'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/AccountUpdate'
|
|
required: true
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"422":
|
|
description: Validation error. The body will have the exact details.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ValidationErrorResponse'
|
|
"200":
|
|
description: "Updated account stored, result in response"
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/AccountSingle'
|
|
delete:
|
|
tags:
|
|
- accounts
|
|
summary: Permanently delete account.
|
|
description: |
|
|
Will permanently delete an account. Any associated transactions and piggy banks are ALSO deleted. Cannot be recovered from.
|
|
operationId: deleteAccount
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The ID of the account.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"204":
|
|
description: Account deleted
|
|
/v1/attachments:
|
|
get:
|
|
tags:
|
|
- attachments
|
|
summary: List all attachments.
|
|
description: |
|
|
This endpoint lists all attachments.
|
|
operationId: listAttachment
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: limit
|
|
in: query
|
|
description: Number of items per page. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
- name: page
|
|
in: query
|
|
description: Page number. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 1
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: A list of attachments.
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/AttachmentArray'
|
|
post:
|
|
tags:
|
|
- attachments
|
|
summary: Store a new attachment.
|
|
description: |
|
|
Creates a new attachment. The data required can be submitted as a JSON body or as a list of parameters. You cannot use this endpoint to upload the actual file data (see below). This endpoint only creates the attachment object.
|
|
operationId: storeAttachment
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
description: JSON array or key=value pairs with the necessary attachment information.
|
|
See the model for the exact specifications.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AttachmentStore'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/AttachmentStore'
|
|
required: true
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: "New attachment stored, result in response."
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/AttachmentSingle'
|
|
"422":
|
|
description: Validation error. The body will have the exact details.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ValidationErrorResponse'
|
|
/v1/attachments/{id}:
|
|
get:
|
|
tags:
|
|
- attachments
|
|
summary: Get a single attachment.
|
|
description: |
|
|
Get a single attachment. This endpoint only returns the available metadata for the attachment. Actual file data is handled in two other endpoints (see below).
|
|
operationId: getAttachment
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The ID of the attachment.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: The requested attachment
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/AttachmentSingle'
|
|
put:
|
|
tags:
|
|
- attachments
|
|
summary: Update existing attachment.
|
|
description: |
|
|
Update the meta data for an existing attachment. This endpoint does not allow you to upload or download data. For that, see below.
|
|
operationId: updateAttachment
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The ID of the attachment.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
requestBody:
|
|
description: JSON array with updated attachment information. See the model
|
|
for the exact specifications.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AttachmentUpdate'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/AttachmentUpdate'
|
|
required: true
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: "Updated attachment stored, result in response"
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/AttachmentSingle'
|
|
"422":
|
|
description: Validation error. The body will have the exact details.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ValidationErrorResponse'
|
|
delete:
|
|
tags:
|
|
- attachments
|
|
summary: Delete an attachment.
|
|
description: |
|
|
With this endpoint you delete an attachment, including any stored file data.
|
|
operationId: deleteAttachment
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The ID of the single attachment.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"204":
|
|
description: Attachment deleted.
|
|
/v1/attachments/{id}/download:
|
|
get:
|
|
tags:
|
|
- attachments
|
|
summary: Download a single attachment.
|
|
description: |
|
|
This endpoint allows you to download the binary content of a transaction. It will be sent to you as a download, using the content type "application/octet-stream" and content disposition "attachment; filename=example.pdf".
|
|
operationId: downloadAttachment
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The ID of the attachment.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
responses:
|
|
"200":
|
|
description: The requested attachment
|
|
content:
|
|
application/octet-stream:
|
|
schema:
|
|
type: string
|
|
format: binary
|
|
x-content-type: application/octet-stream
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/attachments/{id}/upload:
|
|
post:
|
|
tags:
|
|
- attachments
|
|
summary: Upload an attachment.
|
|
description: |
|
|
Use this endpoint to upload (and possible overwrite) the file contents of an attachment. Simply put the entire file in the body as binary data.
|
|
operationId: uploadAttachment
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The ID of the attachment.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
requestBody:
|
|
content:
|
|
application/octet-stream:
|
|
schema:
|
|
type: string
|
|
format: binary
|
|
responses:
|
|
"204":
|
|
description: Upload was a success
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"422":
|
|
description: Validation error. The body will have the exact details.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ValidationErrorResponse'
|
|
/v1/available-budgets:
|
|
get:
|
|
tags:
|
|
- available_budgets
|
|
summary: List all available budget amounts.
|
|
description: |
|
|
Firefly III allows users to set the amount that is available to be budgeted in so-called "available budgets". For example, the user could have 1200,- available to be divided during the coming month. This amount is used on the /budgets page. This endpoint returns all of these amounts and the periods for which they are set.
|
|
operationId: listAvailableBudget
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: limit
|
|
in: query
|
|
description: Number of items per page. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
- name: page
|
|
in: query
|
|
description: Page number. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 1
|
|
- name: start
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
example: 2018-09-17
|
|
- name: end
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
example: 2018-12-31
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: A list of available budget amounts.
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/AvailableBudgetArray'
|
|
/v1/available-budgets/{id}:
|
|
get:
|
|
tags:
|
|
- available_budgets
|
|
summary: Get a single available budget.
|
|
description: "Get a single available budget, by ID."
|
|
operationId: getAvailableBudget
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The ID of the available budget.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: The requested available budget
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/AvailableBudgetSingle'
|
|
/v1/bills/{id}/attachments:
|
|
get:
|
|
tags:
|
|
- bills
|
|
summary: List all attachments uploaded to the bill.
|
|
description: This endpoint will list all attachments linked to the bill.
|
|
operationId: listAttachmentByBill
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: limit
|
|
in: query
|
|
description: Number of items per page. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
- name: page
|
|
in: query
|
|
description: Page number. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 1
|
|
- name: id
|
|
in: path
|
|
description: The ID of the bill.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: A list of attachments
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/AttachmentArray'
|
|
/v1/bills/{id}/rules:
|
|
get:
|
|
tags:
|
|
- bills
|
|
summary: List all rules associated with the bill.
|
|
description: This endpoint will list all rules that have an action to set the
|
|
bill to this bill.
|
|
operationId: listRuleByBill
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The ID of the bill.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: A list of rules
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/RuleArray'
|
|
/v1/bills/{id}/transactions:
|
|
get:
|
|
tags:
|
|
- bills
|
|
summary: List all transactions associated with the bill.
|
|
description: This endpoint will list all transactions linked to this bill.
|
|
operationId: listTransactionByBill
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The ID of the bill.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
- name: start
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
example: 2018-09-17
|
|
- name: end
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
example: 2018-12-31
|
|
- name: type
|
|
in: query
|
|
description: Optional filter on the transaction type(s) returned
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
$ref: '#/components/schemas/TransactionTypeFilter'
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: A list of transactions
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/TransactionArray'
|
|
/v1/bills:
|
|
get:
|
|
tags:
|
|
- bills
|
|
summary: List all bills.
|
|
description: This endpoint will list all the user's bills.
|
|
operationId: listBill
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: limit
|
|
in: query
|
|
description: Number of items per page. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
- name: page
|
|
in: query
|
|
description: Page number. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 1
|
|
- name: start
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD. If it is are added to the request, Firefly III will calculate the appropriate payment and paid dates.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
example: 2018-09-17
|
|
- name: end
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD. If it is added to the request, Firefly III will calculate the appropriate payment and paid dates.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
example: 2018-12-31
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: A list of bills
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/BillArray'
|
|
post:
|
|
tags:
|
|
- bills
|
|
summary: Store a new bill
|
|
description: Creates a new bill. The data required can be submitted as a JSON
|
|
body or as a list of parameters.
|
|
operationId: storeBill
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
description: JSON array or key=value pairs with the necessary bill information.
|
|
See the model for the exact specifications.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BillStore'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/BillStore'
|
|
required: true
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: "New bill stored, result in response."
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/BillSingle'
|
|
"422":
|
|
description: Validation error. The body will have the exact details.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ValidationErrorResponse'
|
|
/v1/bills/{id}:
|
|
get:
|
|
tags:
|
|
- bills
|
|
summary: Get a single bill.
|
|
description: Get a single bill.
|
|
operationId: getBill
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The ID of the bill.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
- name: start
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD. If it is are added to the request, Firefly III will calculate the appropriate payment and paid dates.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
example: 2018-09-17
|
|
- name: end
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD. If it is added to the request, Firefly III will calculate the appropriate payment and paid dates.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
example: 2018-12-31
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: The requested bill
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/BillSingle'
|
|
put:
|
|
tags:
|
|
- bills
|
|
summary: Update existing bill.
|
|
description: Update existing bill.
|
|
operationId: updateBill
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The ID of the bill.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
requestBody:
|
|
description: JSON array or key=value pairs with updated bill information.
|
|
See the model for the exact specifications.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BillUpdate'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/BillUpdate'
|
|
required: true
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: "Updated bill stored, result in response"
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/BillSingle'
|
|
"422":
|
|
description: Validation error. The body will have the exact details.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ValidationErrorResponse'
|
|
delete:
|
|
tags:
|
|
- bills
|
|
summary: Delete a bill.
|
|
description: Delete a bill. This will not delete any associated rules. Will
|
|
not remove associated transactions. WILL remove all associated attachments.
|
|
operationId: deleteBill
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The ID of the bill.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
responses:
|
|
"204":
|
|
description: Bill deleted.
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/budgets/{id}/limits/{limitId}/transactions:
|
|
get:
|
|
tags:
|
|
- budgets
|
|
summary: List all transactions by a budget limit ID.
|
|
description: List all the transactions within one budget limit. The start and
|
|
end date are dictated by the budget limit.
|
|
operationId: listTransactionByBudgetLimit
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: limit
|
|
in: query
|
|
description: Number of items per page. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
- name: page
|
|
in: query
|
|
description: Page number. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 1
|
|
- name: id
|
|
in: path
|
|
description: The ID of the budget. The budget limit MUST be associated to
|
|
the budget ID.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
- name: limitId
|
|
in: path
|
|
description: The ID of the budget limit. The budget limit MUST be associated
|
|
to the budget ID.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
- name: type
|
|
in: query
|
|
description: Optional filter on the transaction type(s) returned
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
$ref: '#/components/schemas/TransactionTypeFilter'
|
|
responses:
|
|
"200":
|
|
description: A list of transactions.
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/TransactionArray'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/budgets/{id}/limits:
|
|
get:
|
|
tags:
|
|
- budgets
|
|
summary: Get all limits for a budget.
|
|
description: |
|
|
Get all budget limits for this budget and the money spent, and money left. You can limit the list by submitting a date range as well. The "spent" array for each budget limit is NOT influenced by the start and end date of your query, but by the start and end date of the budget limit itself.
|
|
operationId: listBudgetLimitByBudget
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The ID of the requested budget.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
- name: start
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
example: 2018-09-17
|
|
- name: end
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
example: 2018-12-31
|
|
responses:
|
|
"200":
|
|
description: A list of budget limits applicable to this budget.
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/BudgetLimitArray'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
post:
|
|
tags:
|
|
- budgets
|
|
summary: Store new budget limit.
|
|
description: Store a new budget limit under this budget.
|
|
operationId: storeBudgetLimit
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The ID of the budget.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
requestBody:
|
|
description: JSON array or key=value pairs with the necessary budget information.
|
|
See the model for the exact specifications.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BudgetLimitStore'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/BudgetLimitStore'
|
|
required: true
|
|
responses:
|
|
"200":
|
|
description: "New budget limit stored, result in response."
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/BudgetLimitSingle'
|
|
"422":
|
|
description: Validation error. The body will have the exact details.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ValidationErrorResponse'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/budgets/{id}/limits/{limitId}:
|
|
get:
|
|
tags:
|
|
- budgets
|
|
summary: Get single budget limit.
|
|
operationId: getBudgetLimit
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The ID of the budget. The budget limit MUST be associated to
|
|
the budget ID.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
- name: limitId
|
|
in: path
|
|
description: The ID of the budget limit. The budget limit MUST be associated
|
|
to the budget ID.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
minimum: 1
|
|
type: integer
|
|
example: 1
|
|
responses:
|
|
"200":
|
|
description: The requested budget limit
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/BudgetLimitSingle'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
put:
|
|
tags:
|
|
- budgets
|
|
summary: Update existing budget limit.
|
|
description: Update existing budget limit.
|
|
operationId: updateBudgetLimit
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The ID of the budget. The budget limit MUST be associated to
|
|
the budget ID.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
- name: limitId
|
|
in: path
|
|
description: The ID of the budget limit. The budget limit MUST be associated
|
|
to the budget ID.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
requestBody:
|
|
description: JSON array with updated budget limit information. See the model
|
|
for the exact specifications.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BudgetLimit'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/BudgetLimit'
|
|
required: true
|
|
responses:
|
|
"200":
|
|
description: "Updated budget limit stored, result in response"
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/BudgetLimitSingle'
|
|
"422":
|
|
description: Validation error. The body will have the exact details.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ValidationErrorResponse'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
delete:
|
|
tags:
|
|
- budgets
|
|
summary: Delete a budget limit.
|
|
description: Delete a budget limit.
|
|
operationId: deleteBudgetLimit
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The ID of the budget. The budget limit MUST be associated to
|
|
the budget ID.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
- name: limitId
|
|
in: path
|
|
description: The ID of the budget limit. The budget limit MUST be associated
|
|
to the budget ID.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
responses:
|
|
"204":
|
|
description: Budget limit deleted.
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/budget-limits:
|
|
get:
|
|
tags:
|
|
- budgets
|
|
summary: Get list of budget limits by date
|
|
description: |
|
|
Get all budget limits for for this date range.
|
|
operationId: listBudgetLimit
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: start
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD.
|
|
required: true
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
example: 2018-09-17
|
|
- name: end
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD.
|
|
required: true
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
example: 2018-12-31
|
|
responses:
|
|
"200":
|
|
description: A list of budget limits.
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/BudgetLimitArray'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/budgets/{id}/transactions:
|
|
get:
|
|
tags:
|
|
- budgets
|
|
summary: All transactions to a budget.
|
|
description: "Get all transactions linked to a budget, possibly limited by start\
|
|
\ and end"
|
|
operationId: listTransactionByBudget
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: limit
|
|
in: query
|
|
description: Number of items per page. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
- name: page
|
|
in: query
|
|
description: Page number. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 1
|
|
- name: id
|
|
in: path
|
|
description: The ID of the budget.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
- name: start
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
example: 2018-09-17
|
|
- name: end
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
example: 2018-12-31
|
|
- name: type
|
|
in: query
|
|
description: Optional filter on the transaction type(s) returned
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
$ref: '#/components/schemas/TransactionTypeFilter'
|
|
responses:
|
|
"200":
|
|
description: A list of transactions.
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/TransactionArray'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/budgets/{id}/attachments:
|
|
get:
|
|
tags:
|
|
- budgets
|
|
summary: Lists all attachments of a budget.
|
|
description: Lists all attachments.
|
|
operationId: listAttachmentByBudget
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: limit
|
|
in: query
|
|
description: Number of items per page. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
- name: page
|
|
in: query
|
|
description: Page number. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 1
|
|
- name: id
|
|
in: path
|
|
description: The ID of the budget.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
responses:
|
|
"200":
|
|
description: A list of attachments
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/AttachmentArray'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/budgets:
|
|
get:
|
|
tags:
|
|
- budgets
|
|
summary: List all budgets.
|
|
description: "List all the budgets the user has made. If the start date and\
|
|
\ end date are submitted as well, the \"spent\" array will be updated accordingly."
|
|
operationId: listBudget
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: limit
|
|
in: query
|
|
description: Number of items per page. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
- name: page
|
|
in: query
|
|
description: Page number. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 1
|
|
- name: start
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD, to get info on how much the user has spent. You must submit both start and end.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
example: 2018-09-17
|
|
- name: end
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD, to get info on how much the user has spent. You must submit both start and end.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
example: 2018-12-31
|
|
responses:
|
|
"200":
|
|
description: A list of budgets.
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/BudgetArray'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
post:
|
|
tags:
|
|
- budgets
|
|
summary: Store a new budget
|
|
description: Creates a new budget. The data required can be submitted as a JSON
|
|
body or as a list of parameters.
|
|
operationId: storeBudget
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
description: JSON array or key=value pairs with the necessary budget information.
|
|
See the model for the exact specifications.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BudgetStore'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/BudgetStore'
|
|
required: true
|
|
responses:
|
|
"200":
|
|
description: "New budget stored, result in response."
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/BudgetSingle'
|
|
"422":
|
|
description: Validation error. The body will have the exact details.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ValidationErrorResponse'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/budgets/{id}:
|
|
get:
|
|
tags:
|
|
- budgets
|
|
summary: Get a single budget.
|
|
description: "Get a single budget. If the start date and end date are submitted\
|
|
\ as well, the \"spent\" array will be updated accordingly."
|
|
operationId: getBudget
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The ID of the requested budget.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
- name: start
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD, to get info on how much the user has spent.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
example: 2018-09-17
|
|
- name: end
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD, to get info on how much the user has spent.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
example: 2018-12-31
|
|
responses:
|
|
"200":
|
|
description: The requested budget
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/BudgetSingle'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
put:
|
|
tags:
|
|
- budgets
|
|
summary: Update existing budget.
|
|
description: Update existing budget. This endpoint cannot be used to set budget
|
|
amount limits.
|
|
operationId: updateBudget
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The ID of the budget.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
requestBody:
|
|
description: JSON array with updated budget information. See the model for
|
|
the exact specifications.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BudgetUpdate'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/BudgetUpdate'
|
|
required: true
|
|
responses:
|
|
"200":
|
|
description: "Updated budget stored, result in response"
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/BudgetSingle'
|
|
"422":
|
|
description: Validation error. The body will have the exact details.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ValidationErrorResponse'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
delete:
|
|
tags:
|
|
- budgets
|
|
summary: Delete a budget.
|
|
description: Delete a budget. Transactions will not be deleted.
|
|
operationId: deleteBudget
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The ID of the budget.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
responses:
|
|
"204":
|
|
description: Budget deleted.
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/categories/{id}/transactions:
|
|
get:
|
|
tags:
|
|
- categories
|
|
summary: List all transactions in a category.
|
|
description: "List all transactions in a category, optionally limited to the\
|
|
\ date ranges specified."
|
|
operationId: listTransactionByCategory
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: limit
|
|
in: query
|
|
description: Number of items per page. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
- name: page
|
|
in: query
|
|
description: Page number. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 1
|
|
- name: id
|
|
in: path
|
|
description: The ID of the category.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
- name: start
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD, to limit the result list.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
example: 2018-09-17
|
|
- name: end
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD, to limit the result list.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
example: 2018-12-31
|
|
- name: type
|
|
in: query
|
|
description: Optional filter on the transaction type(s) returned
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
$ref: '#/components/schemas/TransactionTypeFilter'
|
|
responses:
|
|
"200":
|
|
description: A list of transactions.
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/TransactionArray'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/categories/{id}/attachments:
|
|
get:
|
|
tags:
|
|
- categories
|
|
summary: Lists all attachments.
|
|
description: Lists all attachments.
|
|
operationId: listAttachmentByCategory
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: limit
|
|
in: query
|
|
description: Number of items per page. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
- name: page
|
|
in: query
|
|
description: Page number. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 1
|
|
- name: id
|
|
in: path
|
|
description: The ID of the category.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
responses:
|
|
"200":
|
|
description: A list of attachments
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/AttachmentArray'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/categories:
|
|
get:
|
|
tags:
|
|
- categories
|
|
summary: List all categories.
|
|
description: List all categories.
|
|
operationId: listCategory
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: limit
|
|
in: query
|
|
description: Number of items per page. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
- name: page
|
|
in: query
|
|
description: Page number. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 1
|
|
responses:
|
|
"200":
|
|
description: A list of categories.
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/CategoryArray'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
post:
|
|
tags:
|
|
- categories
|
|
summary: Store a new category
|
|
description: Creates a new category. The data required can be submitted as a
|
|
JSON body or as a list of parameters.
|
|
operationId: storeCategory
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
description: JSON array or key=value pairs with the necessary category information.
|
|
See the model for the exact specifications.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Category'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/Category'
|
|
required: true
|
|
responses:
|
|
"200":
|
|
description: "New category stored, result in response."
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/CategorySingle'
|
|
"422":
|
|
description: Validation error. The body will have the exact details.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ValidationErrorResponse'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/categories/{id}:
|
|
get:
|
|
tags:
|
|
- categories
|
|
summary: Get a single category.
|
|
description: Get a single category.
|
|
operationId: getCategory
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The ID of the category.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
- name: start
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD, to show spent and earned info.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
example: 2018-09-17
|
|
- name: end
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD, to show spent and earned info.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
example: 2018-12-31
|
|
responses:
|
|
"200":
|
|
description: The requested category
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/CategorySingle'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
put:
|
|
tags:
|
|
- categories
|
|
summary: Update existing category.
|
|
description: Update existing category.
|
|
operationId: updateCategory
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The ID of the category.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
requestBody:
|
|
description: JSON array with updated category information. See the model for
|
|
the exact specifications.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/CategoryUpdate'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/CategoryUpdate'
|
|
required: true
|
|
responses:
|
|
"200":
|
|
description: "Updated category stored, result in response"
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/CategorySingle'
|
|
"422":
|
|
description: Validation error. The body will have the exact details.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ValidationErrorResponse'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
delete:
|
|
tags:
|
|
- categories
|
|
summary: Delete a category.
|
|
description: Delete a category. Transactions will not be removed.
|
|
operationId: deleteCategory
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The ID of the category.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
responses:
|
|
"204":
|
|
description: Category deleted.
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/link-types/{id}/transactions:
|
|
get:
|
|
tags:
|
|
- links
|
|
summary: List all transactions under this link type.
|
|
description: |
|
|
List all transactions under this link type, both the inward and outward transactions.
|
|
operationId: listTransactionByLinkType
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: limit
|
|
in: query
|
|
description: Number of items per page. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
- name: page
|
|
in: query
|
|
description: Page number. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 1
|
|
- name: id
|
|
in: path
|
|
description: The ID of the link type.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
- name: start
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD, to limit the results.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
example: 2018-09-17
|
|
- name: end
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD, to limit the results.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
example: 2018-09-17
|
|
- name: type
|
|
in: query
|
|
description: Optional filter on the transaction type(s) returned.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
$ref: '#/components/schemas/TransactionTypeFilter'
|
|
responses:
|
|
"200":
|
|
description: A list of transactions
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/TransactionArray'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/link-types:
|
|
get:
|
|
tags:
|
|
- links
|
|
summary: List all types of links.
|
|
description: |
|
|
List all the link types the system has. These include the default ones as well as any new ones.
|
|
operationId: listLinkType
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: limit
|
|
in: query
|
|
description: Number of items per page. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
- name: page
|
|
in: query
|
|
description: Page number. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 1
|
|
responses:
|
|
"200":
|
|
description: A list of link types.
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/LinkTypeArray'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
post:
|
|
tags:
|
|
- links
|
|
summary: Create a new link type
|
|
description: "Creates a new link type. The data required can be submitted as\
|
|
\ a JSON body or as a list of parameters (in key=value pairs, like a webform)."
|
|
operationId: storeLinkType
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
description: JSON array with the necessary link type information or key=value
|
|
pairs. See the model for the exact specifications.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/LinkType'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/LinkType'
|
|
required: true
|
|
responses:
|
|
"200":
|
|
description: "New link type stored, result in response."
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/LinkTypeSingle'
|
|
"422":
|
|
description: Validation error. The body will have the exact details.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ValidationErrorResponse'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/link-types/{id}:
|
|
get:
|
|
tags:
|
|
- links
|
|
summary: Get single a link type.
|
|
description: |
|
|
Returns a single link type by its ID.
|
|
operationId: getLinkType
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The ID of the link type.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
responses:
|
|
"200":
|
|
description: The requested link type
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/LinkTypeSingle'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
put:
|
|
tags:
|
|
- links
|
|
summary: Update existing link type.
|
|
description: |
|
|
Used to update a single link type. All fields that are not submitted will be cleared (set to NULL). The model will tell you which fields are mandatory. You cannot update some of the system provided link types, indicated by the editable=false flag when you list it.
|
|
operationId: updateLinkType
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The ID of the link type.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
requestBody:
|
|
description: JSON array or formdata with updated link type information. See
|
|
the model for the exact specifications.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/LinkTypeUpdate'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/LinkTypeUpdate'
|
|
required: true
|
|
responses:
|
|
"200":
|
|
description: "Updated link type stored, result in response"
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/LinkTypeSingle'
|
|
"422":
|
|
description: Validation error. The body will have the exact details.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ValidationErrorResponse'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
delete:
|
|
tags:
|
|
- links
|
|
summary: Permanently delete link type.
|
|
description: |
|
|
Will permanently delete a link type. The links between transactions will be removed. The transactions themselves remain. You cannot delete some of the system provided link types, indicated by the editable=false flag when you list it.
|
|
operationId: deleteLinkType
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The ID of the link type.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
responses:
|
|
"204":
|
|
description: Link type deleted
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/transaction-links:
|
|
get:
|
|
tags:
|
|
- links
|
|
summary: List all transaction links.
|
|
description: |
|
|
List all the transaction links.
|
|
operationId: listTransactionLink
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: limit
|
|
in: query
|
|
description: Number of items per page. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
- name: page
|
|
in: query
|
|
description: Page number. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 1
|
|
responses:
|
|
"200":
|
|
description: A list of transaction links
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/TransactionLinkArray'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
post:
|
|
tags:
|
|
- links
|
|
summary: Create a new link between transactions
|
|
description: Store a new link between two transactions. For this end point you
|
|
need the journal_id from a transaction.
|
|
operationId: storeTransactionLink
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
description: JSON array with the necessary link type information or key=value
|
|
pairs. See the model for the exact specifications.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/TransactionLinkStore'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/TransactionLinkStore'
|
|
required: true
|
|
responses:
|
|
"200":
|
|
description: "New transaction link stored, result in response."
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/TransactionLinkSingle'
|
|
"422":
|
|
description: Validation error. The body will have the exact details.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ValidationErrorResponse'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/transaction-links/{id}:
|
|
get:
|
|
tags:
|
|
- links
|
|
summary: Get a single link.
|
|
description: |
|
|
Returns a single link by its ID.
|
|
operationId: getTransactionLink
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The ID of the transaction link.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
responses:
|
|
"200":
|
|
description: The requested link
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/TransactionLinkSingle'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
put:
|
|
tags:
|
|
- links
|
|
summary: Update an existing link between transactions.
|
|
description: |
|
|
Used to update a single existing link.
|
|
operationId: updateTransactionLink
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The ID of the transaction link.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
requestBody:
|
|
description: JSON array or formdata with updated link type information. See
|
|
the model for the exact specifications.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/TransactionLinkUpdate'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/TransactionLinkUpdate'
|
|
required: true
|
|
responses:
|
|
"200":
|
|
description: "Updated link type stored, result in response"
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/TransactionLinkSingle'
|
|
"422":
|
|
description: Validation error. The body will have the exact details.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ValidationErrorResponse'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
delete:
|
|
tags:
|
|
- links
|
|
summary: Permanently delete link between transactions.
|
|
description: |
|
|
Will permanently delete link. Transactions remain.
|
|
operationId: deleteTransactionLink
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The ID of the transaction link.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
responses:
|
|
"204":
|
|
description: Transaction link deleted
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/object-groups/{id}/piggy-banks:
|
|
get:
|
|
tags:
|
|
- object_groups
|
|
summary: List all piggy banks related to the object group.
|
|
description: |
|
|
This endpoint returns a list of all the piggy banks connected to the object group.
|
|
operationId: listPiggyBankByObjectGroup
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: limit
|
|
in: query
|
|
description: Number of items per page. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
- name: page
|
|
in: query
|
|
description: Page number. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 1
|
|
- name: id
|
|
in: path
|
|
description: The ID of the account.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
responses:
|
|
"200":
|
|
description: A list of piggy banks
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/PiggyBankArray'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/object-groups/{id}/bills:
|
|
get:
|
|
tags:
|
|
- object_groups
|
|
summary: List all bills with this object group.
|
|
description: List all bills with this object group.
|
|
operationId: listBillByObjectGroup
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: limit
|
|
in: query
|
|
description: Number of items per page. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
- name: page
|
|
in: query
|
|
description: Page number. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 1
|
|
- name: id
|
|
in: path
|
|
description: The ID of the account.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
responses:
|
|
"200":
|
|
description: A list of bills.
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/BillArray'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/object-groups:
|
|
get:
|
|
tags:
|
|
- object_groups
|
|
summary: List all oject groups.
|
|
description: List all oject groups.
|
|
operationId: listObjectGroups
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: limit
|
|
in: query
|
|
description: Number of items per page. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
- name: page
|
|
in: query
|
|
description: Page number. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 1
|
|
responses:
|
|
"200":
|
|
description: A list of object groups
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/ObjectGroupArray'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/object-groups/{id}:
|
|
get:
|
|
tags:
|
|
- object_groups
|
|
summary: Get a single object group.
|
|
description: Get a single object group.
|
|
operationId: getObjectGroup
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The ID of the object group.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
responses:
|
|
"200":
|
|
description: The requested object group
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/ObjectGroupSingle'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
put:
|
|
tags:
|
|
- object_groups
|
|
summary: Update existing object group.
|
|
description: Update existing object group.
|
|
operationId: updateObjectGroup
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The ID of the object group
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
requestBody:
|
|
description: JSON array with updated piggy bank information. See the model
|
|
for the exact specifications.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ObjectGroupUpdate'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/ObjectGroupUpdate'
|
|
required: true
|
|
responses:
|
|
"200":
|
|
description: "Updated object group stored, result in response"
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/ObjectGroupSingle'
|
|
"422":
|
|
description: Validation error. The body will have the exact details.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ValidationErrorResponse'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
delete:
|
|
tags:
|
|
- object_groups
|
|
summary: Delete a object group.
|
|
description: Delete a object group.
|
|
operationId: deleteObjectGroup
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The ID of the object group.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
responses:
|
|
"204":
|
|
description: Object group deleted.
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/piggy-banks/{id}/events:
|
|
get:
|
|
tags:
|
|
- piggy_banks
|
|
summary: List all events linked to a piggy bank.
|
|
description: List all events linked to a piggy bank (adding and removing money).
|
|
operationId: listEventByPiggyBank
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: limit
|
|
in: query
|
|
description: Number of items per page. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
- name: page
|
|
in: query
|
|
description: Page number. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 1
|
|
- name: id
|
|
in: path
|
|
description: The ID of the piggy bank
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
responses:
|
|
"200":
|
|
description: A list of piggy bank related events
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/PiggyBankEventArray'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/piggy-banks/{id}/attachments:
|
|
get:
|
|
tags:
|
|
- piggy_banks
|
|
summary: Lists all attachments.
|
|
description: Lists all attachments.
|
|
operationId: listAttachmentByPiggyBank
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: limit
|
|
in: query
|
|
description: Number of items per page. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
- name: page
|
|
in: query
|
|
description: Page number. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 1
|
|
- name: id
|
|
in: path
|
|
description: The ID of the piggy bank.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
responses:
|
|
"200":
|
|
description: A list of attachments
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/AttachmentArray'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/piggy-banks:
|
|
get:
|
|
tags:
|
|
- piggy_banks
|
|
summary: List all piggy banks.
|
|
description: List all piggy banks.
|
|
operationId: listPiggyBank
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: limit
|
|
in: query
|
|
description: Number of items per page. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
- name: page
|
|
in: query
|
|
description: Page number. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 1
|
|
responses:
|
|
"200":
|
|
description: A list of piggy banks
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/PiggyBankArray'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
post:
|
|
tags:
|
|
- piggy_banks
|
|
summary: Store a new piggy bank
|
|
description: Creates a new piggy bank. The data required can be submitted as
|
|
a JSON body or as a list of parameters.
|
|
operationId: storePiggyBank
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
description: JSON array or key=value pairs with the necessary piggy bank information.
|
|
See the model for the exact specifications.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PiggyBankStore'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/PiggyBankStore'
|
|
required: true
|
|
responses:
|
|
"200":
|
|
description: "New piggy bank stored, result in response."
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/PiggyBankSingle'
|
|
"422":
|
|
description: Validation error. The body will have the exact details.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ValidationErrorResponse'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/piggy-banks/{id}:
|
|
get:
|
|
tags:
|
|
- piggy_banks
|
|
summary: Get a single piggy bank.
|
|
description: Get a single piggy bank.
|
|
operationId: getPiggyBank
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The ID of the piggy bank.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
responses:
|
|
"200":
|
|
description: The requested piggy bank
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/PiggyBankSingle'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
put:
|
|
tags:
|
|
- piggy_banks
|
|
summary: Update existing piggy bank.
|
|
description: Update existing piggy bank.
|
|
operationId: updatePiggyBank
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The ID of the piggy bank
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
requestBody:
|
|
description: JSON array with updated piggy bank information. See the model
|
|
for the exact specifications.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PiggyBankUpdate'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/PiggyBankUpdate'
|
|
required: true
|
|
responses:
|
|
"200":
|
|
description: "Updated piggy bank stored, result in response"
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/PiggyBankSingle'
|
|
"422":
|
|
description: Validation error. The body will have the exact details.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ValidationErrorResponse'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
delete:
|
|
tags:
|
|
- piggy_banks
|
|
summary: Delete a piggy bank.
|
|
description: Delete a piggy bank.
|
|
operationId: deletePiggyBank
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The ID of the piggy bank.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
responses:
|
|
"204":
|
|
description: Piggy bank deleted.
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/recurrences/{id}/transactions:
|
|
get:
|
|
tags:
|
|
- recurrences
|
|
summary: List all transactions created by a recurring transaction.
|
|
description: "List all transactions created by a recurring transaction, optionally\
|
|
\ limited to the date ranges specified."
|
|
operationId: listTransactionByRecurrence
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: limit
|
|
in: query
|
|
description: Number of items per page. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
- name: page
|
|
in: query
|
|
description: Page number. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 1
|
|
- name: id
|
|
in: path
|
|
description: The ID of the recurring transaction.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
- name: start
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD. Both the start and end date must be present.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
example: 2018-09-17
|
|
- name: end
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD. Both the start and end date must be present.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
example: 2018-09-17
|
|
- name: type
|
|
in: query
|
|
description: Optional filter on the transaction type(s) returned
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
$ref: '#/components/schemas/TransactionTypeFilter'
|
|
responses:
|
|
"200":
|
|
description: A list of transactions
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/TransactionArray'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/recurrences:
|
|
get:
|
|
tags:
|
|
- recurrences
|
|
summary: List all recurring transactions.
|
|
description: List all recurring transactions.
|
|
operationId: listRecurrence
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: limit
|
|
in: query
|
|
description: Number of items per page. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
- name: page
|
|
in: query
|
|
description: Page number. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 1
|
|
responses:
|
|
"200":
|
|
description: A list of recurring transactions.
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/RecurrenceArray'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
post:
|
|
tags:
|
|
- recurrences
|
|
summary: Store a new recurring transaction
|
|
description: Creates a new recurring transaction. The data required can be submitted
|
|
as a JSON body or as a list of parameters.
|
|
operationId: storeRecurrence
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
description: JSON array or key=value pairs with the necessary recurring transaction
|
|
information. See the model for the exact specifications.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/RecurrenceStore'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/RecurrenceStore'
|
|
required: true
|
|
responses:
|
|
"200":
|
|
description: "New recurring transaction stored, result in response."
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/RecurrenceSingle'
|
|
"422":
|
|
description: Validation error. The body will have the exact details.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ValidationErrorResponse'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/recurrences/{id}:
|
|
get:
|
|
tags:
|
|
- recurrences
|
|
summary: Get a single recurring transaction.
|
|
description: Get a single recurring transaction.
|
|
operationId: getRecurrence
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The ID of the recurring transaction.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
responses:
|
|
"200":
|
|
description: The requested recurring transaction
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/RecurrenceSingle'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
put:
|
|
tags:
|
|
- recurrences
|
|
summary: Update existing recurring transaction.
|
|
description: Update existing recurring transaction.
|
|
operationId: updateRecurrence
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The ID of the recurring transaction.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
requestBody:
|
|
description: JSON array with updated recurring transaction information. See
|
|
the model for the exact specifications.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/RecurrenceUpdate'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/RecurrenceUpdate'
|
|
required: true
|
|
responses:
|
|
"200":
|
|
description: "Updated recurring transaction stored, result in response"
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/RecurrenceSingle'
|
|
"422":
|
|
description: Validation error. The body will have the exact details.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ValidationErrorResponse'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
delete:
|
|
tags:
|
|
- recurrences
|
|
summary: Delete a recurring transaction.
|
|
description: Delete a recurring transaction. Transactions created by the recurring
|
|
transaction will not be deleted.
|
|
operationId: deleteRecurrence
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The ID of the recurring transaction.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
responses:
|
|
"204":
|
|
description: Recurring transaction deleted.
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/rule-groups/{id}/rules:
|
|
get:
|
|
tags:
|
|
- rule_groups
|
|
summary: List rules in this rule group.
|
|
description: List rules in this rule group.
|
|
operationId: listRuleByGroup
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: limit
|
|
in: query
|
|
description: Number of items per page. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
- name: page
|
|
in: query
|
|
description: Page number. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 1
|
|
- name: id
|
|
in: path
|
|
description: The ID of the rule group.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
responses:
|
|
"200":
|
|
description: A list of rules.
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/RuleArray'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/rule-groups/{id}/test:
|
|
get:
|
|
tags:
|
|
- rule_groups
|
|
summary: Test which transactions would be hit by the rule group. No changes
|
|
will be made.
|
|
description: Test which transactions would be hit by the rule group. No changes
|
|
will be made. Limit the result if you want to.
|
|
operationId: testRuleGroup
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: limit
|
|
in: query
|
|
description: Number of items per page. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
- name: page
|
|
in: query
|
|
description: Page number. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 1
|
|
- name: id
|
|
in: path
|
|
description: The ID of the rule group.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
- name: start
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD, to limit the transactions the test will be applied to. Both the start date and the end date must be present.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
example: 2018-09-17
|
|
- name: end
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD, to limit the transactions the test will be applied to. Both the start date and the end date must be present.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
example: 2018-09-17
|
|
- name: search_limit
|
|
in: query
|
|
description: |
|
|
Maximum number of transactions Firefly III will try. Don't set this too high, or it will take Firefly III very long to run the test. I suggest a max of 200.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
- name: triggered_limit
|
|
in: query
|
|
description: |
|
|
Maximum number of transactions the rule group can actually trigger on, before Firefly III stops. I would suggest setting this to 10 or 15. Don't go above the user's page size, because browsing to page 2 or 3 of a test result would fire the test again, making any navigation efforts very slow.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
- name: "accounts[]"
|
|
in: query
|
|
description: |
|
|
Limit the testing of the rule group to these asset accounts or liabilities. Only asset accounts and liabilities will be accepted. Other types will be silently dropped.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: array
|
|
example:
|
|
- 1
|
|
- 2
|
|
- 3
|
|
items:
|
|
type: integer
|
|
format: int64
|
|
responses:
|
|
"200":
|
|
description: A list of transactions that would be changed by any of the
|
|
rules of the rule group. No changes will be made.
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/TransactionArray'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/rule-groups/{id}/trigger:
|
|
post:
|
|
tags:
|
|
- rule_groups
|
|
summary: Fire the rule group on your transactions.
|
|
description: Fire the rule group on your transactions. Changes will be made
|
|
by the rules in the rule group! Limit the result if you want to.
|
|
operationId: fireRuleGroup
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The ID of the rule group.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
- name: start
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD, to limit the transactions the actions will be applied to. Both the start date and the end date must be present.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
example: 2018-09-17
|
|
- name: end
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD, to limit the transactions the actions will be applied to. Both the start date and the end date must be present.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
example: 2018-09-17
|
|
- name: "accounts[]"
|
|
in: query
|
|
description: |
|
|
Limit the triggering of the rule group to these asset accounts or liabilities. Only asset accounts and liabilities will be accepted. Other types will be silently dropped.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: array
|
|
example:
|
|
- 1
|
|
- 2
|
|
- 3
|
|
items:
|
|
type: integer
|
|
format: int64
|
|
responses:
|
|
"204":
|
|
description: The rules in the group are executed. Due to the setup of this
|
|
function (asynchronous job execution) the result cannot be displayed.
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/rule-groups:
|
|
get:
|
|
tags:
|
|
- rule_groups
|
|
summary: List all rule groups.
|
|
description: List all rule groups.
|
|
operationId: listRuleGroup
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: limit
|
|
in: query
|
|
description: Number of items per page. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
- name: page
|
|
in: query
|
|
description: Page number. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 1
|
|
responses:
|
|
"200":
|
|
description: A list of rule groups.
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/RuleGroupArray'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
post:
|
|
tags:
|
|
- rule_groups
|
|
summary: Store a new rule group.
|
|
description: Creates a new rule group. The data required can be submitted as
|
|
a JSON body or as a list of parameters.
|
|
operationId: storeRuleGroup
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
description: JSON array or key=value pairs with the necessary rule group information.
|
|
See the model for the exact specifications.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/RuleGroupStore'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/RuleGroupStore'
|
|
required: true
|
|
responses:
|
|
"200":
|
|
description: "New rule group stored, result in response."
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/RuleGroupSingle'
|
|
"422":
|
|
description: Validation error. The body will have the exact details.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ValidationErrorResponse'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/rule-groups/{id}:
|
|
get:
|
|
tags:
|
|
- rule_groups
|
|
summary: Get a single rule group.
|
|
description: "Get a single rule group. This does not include the rules. For\
|
|
\ that, see below."
|
|
operationId: getRuleGroup
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The ID of the rule group.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
responses:
|
|
"200":
|
|
description: The requested rule group
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/RuleGroupSingle'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
put:
|
|
tags:
|
|
- rule_groups
|
|
summary: Update existing rule group.
|
|
description: Update existing rule group.
|
|
operationId: updateRuleGroup
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The ID of the rule group.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
requestBody:
|
|
description: JSON array with updated rule group information. See the model
|
|
for the exact specifications.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/RuleGroupUpdate'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/RuleGroupUpdate'
|
|
required: true
|
|
responses:
|
|
"200":
|
|
description: "Updated rule group stored, result in response"
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/RuleGroupSingle'
|
|
"422":
|
|
description: Validation error. The body will have the exact details.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ValidationErrorResponse'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
delete:
|
|
tags:
|
|
- rule_groups
|
|
summary: Delete a rule group.
|
|
description: Delete a rule group.
|
|
operationId: deleteRuleGroup
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The ID of the rule group.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
responses:
|
|
"204":
|
|
description: Rule group deleted.
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/rules/{id}/test:
|
|
get:
|
|
tags:
|
|
- rules
|
|
summary: Test which transactions would be hit by the rule. No changes will be
|
|
made.
|
|
description: Test which transactions would be hit by the rule. No changes will
|
|
be made. Limit the result if you want to.
|
|
operationId: testRule
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The ID of the rule.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
- name: start
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD, to limit the transactions the test will be applied to. Both the start date and the end date must be present.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
example: 2018-09-17
|
|
- name: end
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD, to limit the transactions the test will be applied to. Both the start date and the end date must be present.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
example: 2018-09-17
|
|
- name: "accounts[]"
|
|
in: query
|
|
description: |
|
|
Limit the testing of the rule to these asset accounts or liabilities. Only asset accounts and liabilities will be accepted. Other types will be silently dropped.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: array
|
|
example:
|
|
- 1
|
|
- 2
|
|
- 3
|
|
items:
|
|
type: integer
|
|
format: int64
|
|
responses:
|
|
"200":
|
|
description: A list of transactions that would be changed by the rule. No
|
|
changes will be made.
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/TransactionArray'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/rules/{id}/trigger:
|
|
post:
|
|
tags:
|
|
- rules
|
|
summary: Fire the rule on your transactions.
|
|
description: Fire the rule group on your transactions. Changes will be made
|
|
by the rules in the group! Limit the result if you want to.
|
|
operationId: fireRule
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The ID of the rule.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
- name: start
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD, to limit the transactions the actions will be applied to. If the start date is not present, it will be set to one year ago. If you use this field, both the start date and the end date must be present.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
example: 2018-09-17
|
|
- name: end
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD, to limit the transactions the actions will be applied to. If the end date is not present, it will be set to today. If you use this field, both the start date and the end date must be present.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
example: 2018-09-17
|
|
- name: "accounts[]"
|
|
in: query
|
|
description: |
|
|
Limit the triggering of the rule to these asset accounts or liabilities. Only asset accounts and liabilities will be accepted. Other types will be silently dropped.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: array
|
|
example:
|
|
- 1
|
|
- 2
|
|
- 3
|
|
items:
|
|
type: integer
|
|
format: int64
|
|
responses:
|
|
"204":
|
|
description: The rules in the group are executed. Due to the setup of this
|
|
function (asynchronous job execution) the result cannot be displayed.
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/rules:
|
|
get:
|
|
tags:
|
|
- rules
|
|
summary: List all rules.
|
|
description: List all rules.
|
|
operationId: listRule
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: limit
|
|
in: query
|
|
description: Number of items per page. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
- name: page
|
|
in: query
|
|
description: Page number. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 1
|
|
responses:
|
|
"200":
|
|
description: A list of rules
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/RuleArray'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
post:
|
|
tags:
|
|
- rules
|
|
summary: Store a new rule
|
|
description: Creates a new rule. The data required can be submitted as a JSON
|
|
body or as a list of parameters.
|
|
operationId: storeRule
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
description: JSON array or key=value pairs with the necessary rule information.
|
|
See the model for the exact specifications.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/RuleStore'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/RuleStore'
|
|
required: true
|
|
responses:
|
|
"200":
|
|
description: "New rule stored, result in response."
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/RuleSingle'
|
|
"422":
|
|
description: Validation error. The body will have the exact details.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ValidationErrorResponse'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/rules/{id}:
|
|
get:
|
|
tags:
|
|
- rules
|
|
summary: Get a single rule.
|
|
description: Get a single rule.
|
|
operationId: getRule
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The ID of the object.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
responses:
|
|
"200":
|
|
description: The requested rule
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/RuleSingle'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
put:
|
|
tags:
|
|
- rules
|
|
summary: Update existing rule.
|
|
description: Update existing rule.
|
|
operationId: updateRule
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The ID of the object.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
requestBody:
|
|
description: JSON array with updated rule information. See the model for the
|
|
exact specifications.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/RuleUpdate'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/RuleUpdate'
|
|
required: true
|
|
responses:
|
|
"200":
|
|
description: "Updated rule stored, result in response"
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/RuleSingle'
|
|
"422":
|
|
description: Validation error. The body will have the exact details.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ValidationErrorResponse'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
delete:
|
|
tags:
|
|
- rules
|
|
summary: Delete an rule.
|
|
description: Delete an rule.
|
|
operationId: deleteRule
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The ID of the rule.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
responses:
|
|
"204":
|
|
description: Rule deleted.
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/tags/{tag}/attachments:
|
|
get:
|
|
tags:
|
|
- tags
|
|
summary: Lists all attachments.
|
|
description: Lists all attachments.
|
|
operationId: listAttachmentByTag
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: limit
|
|
in: query
|
|
description: Number of items per page. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
- name: page
|
|
in: query
|
|
description: Page number. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 1
|
|
- name: tag
|
|
in: path
|
|
description: Either the tag itself or the tag ID.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: string
|
|
example: groceries
|
|
responses:
|
|
"200":
|
|
description: A list of attachments
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/AttachmentArray'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/tags/{tag}/transactions:
|
|
get:
|
|
tags:
|
|
- tags
|
|
summary: List all transactions with this tag.
|
|
description: List all transactions with this tag.
|
|
operationId: listTransactionByTag
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: limit
|
|
in: query
|
|
description: Number of items per page. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
- name: page
|
|
in: query
|
|
description: Page number. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 1
|
|
- name: tag
|
|
in: path
|
|
description: Either the tag itself or the tag ID.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: string
|
|
example: groceries
|
|
- name: start
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD. This is the start date of the selected range (inclusive).
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
example: 2018-09-17
|
|
- name: end
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD. This is the end date of the selected range (inclusive).
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
example: 2018-09-17
|
|
- name: type
|
|
in: query
|
|
description: Optional filter on the transaction type(s) returned.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
$ref: '#/components/schemas/TransactionTypeFilter'
|
|
responses:
|
|
"200":
|
|
description: A list of transactions.
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/TransactionArray'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/tags:
|
|
get:
|
|
tags:
|
|
- tags
|
|
summary: List all tags.
|
|
description: List all of the user's tags.
|
|
operationId: listTag
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: limit
|
|
in: query
|
|
description: Number of items per page. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
- name: page
|
|
in: query
|
|
description: Page number. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 1
|
|
responses:
|
|
"200":
|
|
description: A list of tags
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/TagArray'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
post:
|
|
tags:
|
|
- tags
|
|
summary: Store a new tag
|
|
description: Creates a new tag. The data required can be submitted as a JSON
|
|
body or as a list of parameters.
|
|
operationId: storeTag
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
description: JSON array or key=value pairs with the necessary tag information.
|
|
See the model for the exact specifications.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/TagModelStore'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/TagModelStore'
|
|
required: true
|
|
responses:
|
|
"200":
|
|
description: "New tag stored, result in response."
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/TagSingle'
|
|
"422":
|
|
description: Validation error. The body will have the exact details.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ValidationErrorResponse'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/tags/{tag}:
|
|
get:
|
|
tags:
|
|
- tags
|
|
summary: Get a single tag.
|
|
description: Get a single tag.
|
|
operationId: getTag
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: limit
|
|
in: query
|
|
description: Number of items per page. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
- name: page
|
|
in: query
|
|
description: Page number. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 1
|
|
- name: tag
|
|
in: path
|
|
description: "Either the tag itself or the tag ID. If you use the tag itself,\
|
|
\ and it contains international (non-ASCII) characters, your milage may\
|
|
\ vary."
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: string
|
|
example: groceries
|
|
responses:
|
|
"200":
|
|
description: The requested tag
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/TagSingle'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
put:
|
|
tags:
|
|
- tags
|
|
summary: Update existing tag.
|
|
description: Update existing tag.
|
|
operationId: updateTag
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: tag
|
|
in: path
|
|
description: "Either the tag itself or the tag ID. If you use the tag itself,\
|
|
\ and it contains international (non-ASCII) characters, your milage may\
|
|
\ vary."
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: string
|
|
example: groceries
|
|
requestBody:
|
|
description: JSON array with updated tag information. See the model for the
|
|
exact specifications.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/TagModelUpdate'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/TagModelUpdate'
|
|
required: true
|
|
responses:
|
|
"200":
|
|
description: "Updated tag stored, result in response"
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/TagSingle'
|
|
"422":
|
|
description: Validation error. The body will have the exact details.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ValidationErrorResponse'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
delete:
|
|
tags:
|
|
- tags
|
|
summary: Delete an tag.
|
|
description: Delete an tag.
|
|
operationId: deleteTag
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: tag
|
|
in: path
|
|
description: "Either the tag itself or the tag ID. If you use the tag itself,\
|
|
\ and it contains international (non-ASCII) characters, your milage may\
|
|
\ vary."
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: string
|
|
example: groceries
|
|
responses:
|
|
"204":
|
|
description: Tag deleted.
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/currencies/{code}/accounts:
|
|
get:
|
|
tags:
|
|
- currencies
|
|
summary: List all accounts with this currency.
|
|
description: List all accounts with this currency.
|
|
operationId: listAccountByCurrency
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: limit
|
|
in: query
|
|
description: Number of items per page. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
- name: page
|
|
in: query
|
|
description: Page number. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 1
|
|
- name: code
|
|
in: path
|
|
description: The currency code.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: string
|
|
example: USD
|
|
- name: date
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD. When added to the request, Firefly III will show the account's balance on that day.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
- name: type
|
|
in: query
|
|
description: Optional filter on the account type(s) returned
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
$ref: '#/components/schemas/AccountTypeFilter'
|
|
responses:
|
|
"200":
|
|
description: A list of accounts
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/AccountArray'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/currencies/{code}/available-budgets:
|
|
get:
|
|
tags:
|
|
- currencies
|
|
summary: List all available budgets with this currency.
|
|
description: List all available budgets with this currency.
|
|
operationId: listAvailableBudgetByCurrency
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: limit
|
|
in: query
|
|
description: Number of items per page. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
- name: page
|
|
in: query
|
|
description: Page number. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 1
|
|
- name: code
|
|
in: path
|
|
description: The currency code.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: string
|
|
example: EUR
|
|
responses:
|
|
"200":
|
|
description: A list of available budgets
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/AvailableBudgetArray'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/currencies/{code}/bills:
|
|
get:
|
|
tags:
|
|
- currencies
|
|
summary: List all bills with this currency.
|
|
description: List all bills with this currency.
|
|
operationId: listBillByCurrency
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: limit
|
|
in: query
|
|
description: Number of items per page. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
- name: page
|
|
in: query
|
|
description: Page number. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 1
|
|
- name: code
|
|
in: path
|
|
description: The currency code.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: string
|
|
example: USD
|
|
responses:
|
|
"200":
|
|
description: A list of bills.
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/BillArray'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/currencies/{code}/budget_limits:
|
|
get:
|
|
tags:
|
|
- currencies
|
|
summary: List all budget limits with this currency
|
|
description: List all budget limits with this currency
|
|
operationId: listBudgetLimitByCurrency
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: limit
|
|
in: query
|
|
description: Number of items per page. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
- name: page
|
|
in: query
|
|
description: Page number. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 1
|
|
- name: code
|
|
in: path
|
|
description: The currency code.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: string
|
|
example: USD
|
|
- name: start
|
|
in: query
|
|
description: Start date for the budget limit list.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
example: 2018-01-01
|
|
- name: end
|
|
in: query
|
|
description: End date for the budget limit list.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
example: 2018-01-31
|
|
responses:
|
|
"200":
|
|
description: A list of budget limits.
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/BudgetLimitArray'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/currencies/{code}/recurrences:
|
|
get:
|
|
tags:
|
|
- currencies
|
|
summary: List all recurring transactions with this currency.
|
|
description: List all recurring transactions with this currency.
|
|
operationId: listRecurrenceByCurrency
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: limit
|
|
in: query
|
|
description: Number of items per page. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
- name: page
|
|
in: query
|
|
description: Page number. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 1
|
|
- name: code
|
|
in: path
|
|
description: The currency code.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: string
|
|
example: EUR
|
|
responses:
|
|
"200":
|
|
description: A list of recurring transactions
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/RecurrenceArray'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/currencies/{code}/rules:
|
|
get:
|
|
tags:
|
|
- currencies
|
|
summary: List all rules with this currency.
|
|
description: List all rules with this currency.
|
|
operationId: listRuleByCurrency
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: limit
|
|
in: query
|
|
description: Number of items per page. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
- name: page
|
|
in: query
|
|
description: Page number. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 1
|
|
- name: code
|
|
in: path
|
|
description: The currency code.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: string
|
|
example: USD
|
|
responses:
|
|
"200":
|
|
description: A list of rules
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/RuleArray'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/currencies/{code}/transactions:
|
|
get:
|
|
tags:
|
|
- currencies
|
|
summary: List all transactions with this currency.
|
|
description: List all transactions with this currency.
|
|
operationId: listTransactionByCurrency
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: limit
|
|
in: query
|
|
description: Number of items per page. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
- name: page
|
|
in: query
|
|
description: Page number. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 1
|
|
- name: code
|
|
in: path
|
|
description: The currency code.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: string
|
|
example: USD
|
|
- name: start
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD, to limit the list of transactions.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
example: 2018-09-17
|
|
- name: end
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD, to limit the list of transactions.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
example: 2018-12-31
|
|
- name: type
|
|
in: query
|
|
description: Optional filter on the transaction type(s) returned
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
$ref: '#/components/schemas/TransactionTypeFilter'
|
|
responses:
|
|
"200":
|
|
description: A list of transactions.
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/TransactionArray'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/currencies:
|
|
get:
|
|
tags:
|
|
- currencies
|
|
summary: List all currencies.
|
|
description: List all currencies.
|
|
operationId: listCurrency
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: limit
|
|
in: query
|
|
description: Number of items per page. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
- name: page
|
|
in: query
|
|
description: Page number. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 1
|
|
responses:
|
|
"200":
|
|
description: A list of currencies.
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/CurrencyArray'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
post:
|
|
tags:
|
|
- currencies
|
|
summary: Store a new currency
|
|
description: Creates a new currency. The data required can be submitted as a
|
|
JSON body or as a list of parameters.
|
|
operationId: storeCurrency
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
description: JSON array or key=value pairs with the necessary currency information.
|
|
See the model for the exact specifications.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/CurrencyStore'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/CurrencyStore'
|
|
required: true
|
|
responses:
|
|
"200":
|
|
description: "New currency stored, result in response."
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/CurrencySingle'
|
|
"422":
|
|
description: Validation error. The body will have the exact details.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ValidationErrorResponse'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/currencies/{code}/enable:
|
|
post:
|
|
tags:
|
|
- currencies
|
|
summary: Enable a single currency.
|
|
description: Enable a single currency.
|
|
operationId: enableCurrency
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: code
|
|
in: path
|
|
description: The currency code.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: string
|
|
example: USD
|
|
responses:
|
|
"204":
|
|
description: Currency was enabled.
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/CurrencySingle'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/currencies/{code}/disable:
|
|
post:
|
|
tags:
|
|
- currencies
|
|
summary: Disable a currency.
|
|
description: Disable a currency.
|
|
operationId: disableCurrency
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: code
|
|
in: path
|
|
description: The currency code.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: GBP
|
|
responses:
|
|
"204":
|
|
description: Currency was disabled.
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/CurrencySingle'
|
|
"409":
|
|
description: "Currency cannot be disabled, because it is still in use."
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/currencies/{code}/default:
|
|
post:
|
|
tags:
|
|
- currencies
|
|
summary: Make currency default currency.
|
|
description: "Make this currency the default currency for the user. If the currency\
|
|
\ is not enabled, it will be enabled as well."
|
|
operationId: defaultCurrency
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: code
|
|
in: path
|
|
description: The currency code.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: string
|
|
example: USD
|
|
responses:
|
|
"204":
|
|
description: Currency has been made the default currency.
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/CurrencySingle'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/currencies/{code}:
|
|
get:
|
|
tags:
|
|
- currencies
|
|
summary: Get a single currency.
|
|
description: Get a single currency.
|
|
operationId: getCurrency
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: code
|
|
in: path
|
|
description: The currency code.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: string
|
|
example: USD
|
|
responses:
|
|
"200":
|
|
description: The requested currency
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/CurrencySingle'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
put:
|
|
tags:
|
|
- currencies
|
|
summary: Update existing currency.
|
|
description: Update existing currency.
|
|
operationId: updateCurrency
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: code
|
|
in: path
|
|
description: The currency code.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: string
|
|
example: EUR
|
|
requestBody:
|
|
description: JSON array with updated currency information. See the model for
|
|
the exact specifications.
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/CurrencyUpdate'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/CurrencyUpdate'
|
|
required: true
|
|
responses:
|
|
"200":
|
|
description: "Updated currency stored, result in response"
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/CurrencySingle'
|
|
"422":
|
|
description: Validation error. The body will have the exact details.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ValidationErrorResponse'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
delete:
|
|
tags:
|
|
- currencies
|
|
summary: Delete a currency.
|
|
description: Delete a currency.
|
|
operationId: deleteCurrency
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: code
|
|
in: path
|
|
description: The currency code.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: string
|
|
example: GBP
|
|
responses:
|
|
"204":
|
|
description: Currency deleted.
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/currencies/default:
|
|
get:
|
|
tags:
|
|
- currencies
|
|
summary: Get the user's default currency.
|
|
description: Get the user's default currency.
|
|
operationId: getDefaultCurrency
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: The default currency
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/CurrencySingle'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/transaction-journals/{id}/links:
|
|
get:
|
|
tags:
|
|
- transactions
|
|
summary: Lists all the transaction links for an individual journal (individual
|
|
split).
|
|
description: "Lists all the transaction links for an individual journal (a split).\
|
|
\ Don't use the group ID, you need the actual underlying journal (the split)."
|
|
operationId: listLinksByJournal
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: limit
|
|
in: query
|
|
description: Number of items per page. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
- name: page
|
|
in: query
|
|
description: Page number. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 1
|
|
- name: id
|
|
in: path
|
|
description: The ID of the transaction journal / the split.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
responses:
|
|
"200":
|
|
description: A list of transaction links.
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/TransactionLinkArray'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/transaction-journals/{id}:
|
|
get:
|
|
tags:
|
|
- transactions
|
|
summary: "Get a single transaction, based on one of the underlying transaction\
|
|
\ journals (transaction splits)."
|
|
description: Get a single transaction by underlying journal (split).
|
|
operationId: getTransactionByJournal
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The ID of the transaction journal (split).
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
responses:
|
|
"200":
|
|
description: The requested transaction.
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/TransactionSingle'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
delete:
|
|
tags:
|
|
- transactions
|
|
summary: Delete split from transaction
|
|
description: Delete an individual journal (split) from a transaction.
|
|
operationId: deleteTransactionJournal
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The ID of the transaction journal (the split) you wish to delete.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
responses:
|
|
"204":
|
|
description: Transaction journal (split) deleted.
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/transactions/{id}/attachments:
|
|
get:
|
|
tags:
|
|
- transactions
|
|
summary: Lists all attachments.
|
|
description: Lists all attachments.
|
|
operationId: listAttachmentByTransaction
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: limit
|
|
in: query
|
|
description: Number of items per page. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
- name: page
|
|
in: query
|
|
description: Page number. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 1
|
|
- name: id
|
|
in: path
|
|
description: The ID of the transaction.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
responses:
|
|
"200":
|
|
description: A list of attachments
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/AttachmentArray'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/transactions/{id}/piggy-bank-events:
|
|
get:
|
|
tags:
|
|
- transactions
|
|
summary: Lists all piggy bank events.
|
|
description: Lists all piggy bank events.
|
|
operationId: listEventByTransaction
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: limit
|
|
in: query
|
|
description: Number of items per page. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
- name: page
|
|
in: query
|
|
description: Page number. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 1
|
|
- name: id
|
|
in: path
|
|
description: The ID of the transaction.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
responses:
|
|
"200":
|
|
description: A list of piggy bank events.
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/PiggyBankEventArray'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/transactions:
|
|
get:
|
|
tags:
|
|
- transactions
|
|
summary: |
|
|
List all the user's transactions.
|
|
description: List all the user's transactions.
|
|
operationId: listTransaction
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: limit
|
|
in: query
|
|
description: Number of items per page. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
- name: page
|
|
in: query
|
|
description: Page number. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 1
|
|
- name: start
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD. This is the start date of the selected range (inclusive).
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
example: 2018-09-17
|
|
- name: end
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD. This is the end date of the selected range (inclusive).
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
example: 2018-09-17
|
|
- name: type
|
|
in: query
|
|
description: Optional filter on the transaction type(s) returned.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
$ref: '#/components/schemas/TransactionTypeFilter'
|
|
responses:
|
|
"200":
|
|
description: A list of transactions.
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/TransactionArray'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
post:
|
|
tags:
|
|
- transactions
|
|
summary: Store a new transaction
|
|
description: Creates a new transaction. The data required can be submitted as
|
|
a JSON body or as a list of parameters.
|
|
operationId: storeTransaction
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
description: JSON array or key=value pairs with the necessary transaction
|
|
information. See the model for the exact specifications.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/TransactionStore'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/TransactionStore'
|
|
required: true
|
|
responses:
|
|
"200":
|
|
description: "New transaction stored(s), result in response."
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/TransactionSingle'
|
|
"422":
|
|
description: Validation error. The body will have the exact details.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ValidationErrorResponse'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/transactions/{id}:
|
|
get:
|
|
tags:
|
|
- transactions
|
|
summary: Get a single transaction.
|
|
description: Get a single transaction.
|
|
operationId: getTransaction
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The ID of the transaction.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
responses:
|
|
"200":
|
|
description: The requested transaction.
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/TransactionSingle'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
put:
|
|
tags:
|
|
- transactions
|
|
summary: "Update existing transaction. For more information, see https://docs.firefly-iii.org/references/firefly-iii/api/specials/"
|
|
description: Update an existing transaction.
|
|
operationId: updateTransaction
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The ID of the transaction.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
requestBody:
|
|
description: JSON array with updated transaction information. See the model
|
|
for the exact specifications.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/TransactionUpdate'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/TransactionUpdate'
|
|
required: true
|
|
responses:
|
|
"200":
|
|
description: "Updated transaction stored, result in response"
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/TransactionSingle'
|
|
"422":
|
|
description: Validation error. The body will have the exact details.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ValidationErrorResponse'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
delete:
|
|
tags:
|
|
- transactions
|
|
summary: Delete a transaction.
|
|
description: Delete a transaction.
|
|
operationId: deleteTransaction
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The ID of the transaction.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
responses:
|
|
"204":
|
|
description: Transaction deleted.
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/search/accounts:
|
|
get:
|
|
tags:
|
|
- search
|
|
summary: Search for accounts
|
|
description: Search for accounts
|
|
operationId: searchAccounts
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: limit
|
|
in: query
|
|
description: Number of items per page. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
- name: page
|
|
in: query
|
|
description: Page number. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 1
|
|
- name: query
|
|
in: query
|
|
description: The query you wish to search for.
|
|
required: true
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
example: checking
|
|
- name: type
|
|
in: query
|
|
description: The type of accounts you wish to limit the search to.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
$ref: '#/components/schemas/AccountTypeFilter'
|
|
- name: field
|
|
in: query
|
|
description: The account field(s) you want to search in.
|
|
required: true
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
$ref: '#/components/schemas/AccountSearchFieldFilter'
|
|
responses:
|
|
"200":
|
|
description: A list of accounts.
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/AccountArray'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/search/transactions:
|
|
get:
|
|
tags:
|
|
- search
|
|
summary: Search for transactions
|
|
description: Searches through the users transactions.
|
|
externalDocs:
|
|
description: Search Documentation
|
|
url: https://docs.firefly-iii.org/how-to/firefly-iii/features/search/
|
|
operationId: searchTransactions
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: limit
|
|
in: query
|
|
description: Number of items per page. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
- name: page
|
|
in: query
|
|
description: Page number. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 1
|
|
- name: query
|
|
in: query
|
|
description: The query you wish to search for.
|
|
required: true
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
example: groceries
|
|
responses:
|
|
"200":
|
|
description: A list of transactions.
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/TransactionArray'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/summary/basic:
|
|
get:
|
|
tags:
|
|
- summary
|
|
summary: Returns basic sums of the users data.
|
|
description: |
|
|
Returns basic sums of the users data, like the net worth, spent and earned amounts. It is multi-currency, and is used in Firefly III to populate the dashboard.
|
|
operationId: getBasicSummary
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: start
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD.
|
|
required: true
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
- name: end
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD.
|
|
required: true
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
- name: currency_code
|
|
in: query
|
|
description: |
|
|
A currency code like EUR or USD, to filter the result.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: string
|
|
responses:
|
|
"200":
|
|
description: "An array of sums. It depends on the user what you can expect\
|
|
\ to get back, so please try this out on the demo site."
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/BasicSummary'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/about:
|
|
get:
|
|
tags:
|
|
- about
|
|
summary: System information end point.
|
|
description: |
|
|
Returns general system information and versions of the (supporting) software.
|
|
operationId: getAbout
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: The available system information
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SystemInfo'
|
|
/v1/about/user:
|
|
get:
|
|
tags:
|
|
- about
|
|
summary: Currently authenticated user endpoint.
|
|
description: |
|
|
Returns the currently authenticated user.
|
|
operationId: getCurrentUser
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: The user
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/UserSingle'
|
|
/v1/configuration:
|
|
get:
|
|
tags:
|
|
- configuration
|
|
summary: Get Firefly III system configuration values.
|
|
description: Returns all editable and not-editable configuration values for
|
|
this Firefly III installation
|
|
operationId: getConfiguration
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: System configuration values
|
|
content:
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/ConfigurationArray'
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ConfigurationArray'
|
|
/v1/configuration/{name}:
|
|
get:
|
|
tags:
|
|
- configuration
|
|
summary: Get a single Firefly III system configuration value
|
|
description: Returns one configuration variable for this Firefly III installation
|
|
operationId: getSingleConfiguration
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: name
|
|
in: path
|
|
description: The name of the configuration value you want to know.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
$ref: '#/components/schemas/ConfigValueFilter'
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: One system configuration value
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ConfigurationSingle'
|
|
put:
|
|
tags:
|
|
- configuration
|
|
summary: Update configuration value
|
|
description: Set a single configuration value. Not all configuration values
|
|
can be updated so the list of accepted configuration variables is small.
|
|
operationId: setConfiguration
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: name
|
|
in: path
|
|
description: The name of the configuration value you want to update.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
$ref: '#/components/schemas/ConfigValueUpdateFilter'
|
|
requestBody:
|
|
description: JSON array with the necessary account information or key=value
|
|
pairs. See the model for the exact specifications.
|
|
content:
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/ConfigurationUpdate'
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ConfigurationUpdate'
|
|
required: true
|
|
responses:
|
|
"200":
|
|
description: "New configuration value stored, result in response."
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ConfigurationSingle'
|
|
"422":
|
|
description: Validation error. The body will have the exact details.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ValidationErrorResponse'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/cron/{cliToken}:
|
|
get:
|
|
tags:
|
|
- about
|
|
summary: Cron job endpoint
|
|
description: |
|
|
Firefly III has one endpoint for its various cron related tasks. Send a GET to this endpoint
|
|
to run the cron. The cron requires the CLI token to be present. The cron job will fire for all
|
|
users.
|
|
operationId: getCron
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: cliToken
|
|
in: path
|
|
description: "The CLI token of any user in Firefly III, required to run the\
|
|
\ cron job."
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: string
|
|
example: d5ea6b5fb774618dd6ad6ba6e0a7f55c
|
|
- name: date
|
|
in: query
|
|
description: |
|
|
A date formatted YYYY-MM-DD. This can be used to make the cron job pretend it's running
|
|
on another day.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
example: 2018-09-17
|
|
- name: force
|
|
in: query
|
|
description: |
|
|
Forces the cron job to fire, regardless of whether it has fired before. This may result
|
|
in double transactions or weird budgets, so be careful.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: boolean
|
|
format: boolean
|
|
example: false
|
|
responses:
|
|
"200":
|
|
description: The result of the cron job(s) firing.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/CronResult'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/users:
|
|
get:
|
|
tags:
|
|
- users
|
|
summary: List all users.
|
|
description: List all the users in this instance of Firefly III.
|
|
operationId: listUser
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: limit
|
|
in: query
|
|
description: Number of items per page. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
- name: page
|
|
in: query
|
|
description: Page number. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 1
|
|
responses:
|
|
"200":
|
|
description: A list of users.
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/UserArray'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
post:
|
|
tags:
|
|
- users
|
|
summary: Store a new user
|
|
description: |
|
|
Creates a new user. The data required can be submitted as a JSON body or as a list of parameters. The user will be given a random password, which they can reset using the "forgot password" function.
|
|
operationId: storeUser
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
description: JSON array or key=value pairs with the necessary user information.
|
|
See the model for the exact specifications.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/User'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/User'
|
|
required: true
|
|
responses:
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
"200":
|
|
description: "New user stored, result in response."
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/UserSingle'
|
|
"422":
|
|
description: Validation error. The body will have the exact details.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ValidationErrorResponse'
|
|
/v1/users/{id}:
|
|
get:
|
|
tags:
|
|
- users
|
|
summary: Get a single user.
|
|
description: Gets all info of a single user.
|
|
operationId: getUser
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The user ID.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
responses:
|
|
"200":
|
|
description: The requested user.
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/UserSingle'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
put:
|
|
tags:
|
|
- users
|
|
summary: Update an existing user's information.
|
|
description: Update existing user.
|
|
operationId: updateUser
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The user ID.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
requestBody:
|
|
description: JSON array with updated user information. See the model for the
|
|
exact specifications.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/User'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/User'
|
|
required: true
|
|
responses:
|
|
"200":
|
|
description: "Updated user stored, result in response"
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/UserSingle'
|
|
"422":
|
|
description: Validation error. The body will have the exact details.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ValidationErrorResponse'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
delete:
|
|
tags:
|
|
- users
|
|
summary: Delete a user.
|
|
description: Delete a user. You cannot delete the user you're authenticated
|
|
with. This cannot be undone. Be careful!
|
|
operationId: deleteUser
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The user ID.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
responses:
|
|
"204":
|
|
description: User deleted.
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/preferences:
|
|
get:
|
|
tags:
|
|
- preferences
|
|
summary: List all users preferences.
|
|
description: List all of the preferences of the user.
|
|
operationId: listPreference
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: limit
|
|
in: query
|
|
description: Number of items per page. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
- name: page
|
|
in: query
|
|
description: Page number. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 1
|
|
responses:
|
|
"200":
|
|
description: A list of preferences.
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/PreferenceArray'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
post:
|
|
tags:
|
|
- preferences
|
|
summary: Store a new preference for this user.
|
|
description: "This endpoint creates a new preference. The name and data are\
|
|
\ free-format, and entirely up to you. If the preference is not used in Firefly\
|
|
\ III itself it may not be configurable through the user interface, but you\
|
|
\ can use this endpoint to persist custom data for your own app."
|
|
operationId: storePreference
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
description: JSON array with the necessary preference information or key=value
|
|
pairs. See the model for the exact specifications.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Preference'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/Preference'
|
|
required: true
|
|
responses:
|
|
"200":
|
|
description: "New account stored, result in response."
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/PreferenceSingle'
|
|
"422":
|
|
description: Validation error. The body will have the exact details.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ValidationErrorResponse'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/preferences/{name}:
|
|
get:
|
|
tags:
|
|
- preferences
|
|
summary: Return a single preference.
|
|
description: Return a single preference and the value.
|
|
operationId: getPreference
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: name
|
|
in: path
|
|
description: The name of the preference.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: string
|
|
example: currencyPreference
|
|
responses:
|
|
"200":
|
|
description: A single preference.
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/PreferenceSingle'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
put:
|
|
tags:
|
|
- preferences
|
|
summary: Update preference
|
|
description: Update a user's preference.
|
|
operationId: updatePreference
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: name
|
|
in: path
|
|
description: The name of the preference. Will always overwrite. Will be created
|
|
if it does not exist.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: string
|
|
example: currencyPreference
|
|
requestBody:
|
|
description: JSON array or key=value pairs with the necessary preference information.
|
|
See the model for the exact specifications.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PreferenceUpdate'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/PreferenceUpdate'
|
|
required: true
|
|
responses:
|
|
"200":
|
|
description: Updated preference.
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/PreferenceSingle'
|
|
"422":
|
|
description: Validation error. The body will have the exact details.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ValidationErrorResponse'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/webhooks/{id}/messages:
|
|
get:
|
|
tags:
|
|
- webhooks
|
|
summary: Get all the messages of a single webhook.
|
|
description: When a webhook is triggered the actual message that will be send
|
|
is stored in a "message". You can view and analyse these messages.
|
|
operationId: getWebhookMessages
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The webhook ID.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
responses:
|
|
"200":
|
|
description: A list of webhook messages.
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/WebhookMessageArray'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/webhooks/{id}/messages/{messageId}:
|
|
get:
|
|
tags:
|
|
- webhooks
|
|
summary: Get a single message from a webhook.
|
|
description: When a webhook is triggered it will store the actual content of
|
|
the webhook in a webhook message. You can view and analyse a single one using
|
|
this endpoint.
|
|
operationId: getSingleWebhookMessage
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The webhook ID.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
- name: messageId
|
|
in: path
|
|
description: The webhook message ID.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: integer
|
|
example: 1
|
|
responses:
|
|
"200":
|
|
description: A single webhook message.
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/WebhookMessageSingle'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
delete:
|
|
tags:
|
|
- webhooks
|
|
summary: Delete a webhook message.
|
|
description: Delete a webhook message. Any time a webhook is triggered the message
|
|
is stored before it's sent. You can delete them before or after sending.
|
|
operationId: deleteWebhookMessage
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The webhook ID.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
- name: messageId
|
|
in: path
|
|
description: The webhook message ID.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: integer
|
|
example: 1
|
|
responses:
|
|
"204":
|
|
description: Webhook message deleted.
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/webhooks/{id}/messages/{messageId}/attempts:
|
|
get:
|
|
tags:
|
|
- webhooks
|
|
summary: Get all the failed attempts of a single webhook message.
|
|
description: When a webhook message fails to send it will store the failure
|
|
in an "attempt". You can view and analyse these. Webhook messages that receive
|
|
too many attempts (failures) will not be sent again. You must first clear
|
|
out old attempts before the message can go out again.
|
|
operationId: getWebhookMessageAttempts
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: limit
|
|
in: query
|
|
description: Number of items per page. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
- name: page
|
|
in: query
|
|
description: Page number. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 1
|
|
- name: id
|
|
in: path
|
|
description: The webhook ID.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
- name: messageId
|
|
in: path
|
|
description: The webhook message ID.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: integer
|
|
example: 1
|
|
responses:
|
|
"200":
|
|
description: A list of webhook attempts.
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/WebhookAttemptArray'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/webhooks/{id}/messages/{messageId}/attempts/{attemptId}:
|
|
get:
|
|
tags:
|
|
- webhooks
|
|
summary: Get a single failed attempt from a single webhook message.
|
|
description: When a webhook message fails to send it will store the failure
|
|
in an "attempt". You can view and analyse these. Webhooks messages that receive
|
|
too many attempts (failures) will not be fired. You must first clear out old
|
|
attempts and try again. This endpoint shows you the details of a single attempt.
|
|
The ID of the attempt must match the corresponding webhook and webhook message.
|
|
operationId: getSingleWebhookMessageAttempt
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The webhook ID.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
- name: messageId
|
|
in: path
|
|
description: The webhook message ID.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: integer
|
|
example: 1
|
|
- name: attemptId
|
|
in: path
|
|
description: The webhook attempt ID.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: integer
|
|
example: 1
|
|
responses:
|
|
"200":
|
|
description: A single webhook attempt.
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/WebhookAttemptSingle'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
delete:
|
|
tags:
|
|
- webhooks
|
|
summary: Delete a webhook attempt.
|
|
description: "Delete a webhook message attempt. If you delete all attempts for\
|
|
\ a webhook message, Firefly III will (once again) assume all is well with\
|
|
\ the webhook message and will try to send it again."
|
|
operationId: deleteWebhookMessageAttempt
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The webhook ID.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
- name: messageId
|
|
in: path
|
|
description: The webhook message ID.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: integer
|
|
example: 1
|
|
- name: attemptId
|
|
in: path
|
|
description: The webhook message attempt ID.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: integer
|
|
example: 1
|
|
responses:
|
|
"204":
|
|
description: Webhook message attempt deleted.
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/webhooks/{id}/submit:
|
|
post:
|
|
tags:
|
|
- webhooks
|
|
summary: Submit messages for a webhook.
|
|
description: "This endpoint will submit any open messages for this webhook.\
|
|
\ This is an asynchronous operation, so you can't see the result. Refresh\
|
|
\ the webhook message and/or the webhook message attempts to see the results.\
|
|
\ This may take some time if the webhook receiver is slow."
|
|
operationId: submitWebook
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The webhook ID.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
responses:
|
|
"200":
|
|
description: OK!
|
|
"204":
|
|
description: "No messages to send, so did nothing."
|
|
"404":
|
|
description: Webhook not found.
|
|
"500":
|
|
description: Error while sending.
|
|
/v1/webhooks/{id}/trigger-transaction/{transactionId}:
|
|
post:
|
|
tags:
|
|
- webhooks
|
|
summary: Trigger webhook for a given transaction.
|
|
description: "This endpoint will execute this webhook for a given transaction\
|
|
\ ID. This is an asynchronous operation, so you can't see the result. Refresh\
|
|
\ the webhook message and/or the webhook message attempts to see the results.\
|
|
\ This may take some time if the webhook receiver is slow."
|
|
operationId: triggerTransactionWebhook
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The webhook ID.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
- name: transactionId
|
|
in: path
|
|
description: The transaction ID.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
responses:
|
|
"204":
|
|
description: Webhook triggered successfully.
|
|
"404":
|
|
description: Webhook or transaction not found.
|
|
"500":
|
|
description: Error while sending.
|
|
/v1/webhooks:
|
|
get:
|
|
tags:
|
|
- webhooks
|
|
summary: List all webhooks.
|
|
description: List all the user's webhooks.
|
|
operationId: listWebhook
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: limit
|
|
in: query
|
|
description: Number of items per page. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 10
|
|
- name: page
|
|
in: query
|
|
description: Page number. The default pagination is per 50 items.
|
|
required: false
|
|
style: form
|
|
explode: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
example: 1
|
|
responses:
|
|
"200":
|
|
description: A list of webhooks.
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/WebhookArray'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
post:
|
|
tags:
|
|
- webhooks
|
|
summary: Store a new webhook
|
|
description: |
|
|
Creates a new webhook. The data required can be submitted as a JSON body or as a list of parameters. The webhook will be given a random secret.
|
|
operationId: storeWebhook
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
description: JSON array or key=value pairs with the necessary webhook information.
|
|
See the model for the exact specifications.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/WebhookStore'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/WebhookStore'
|
|
required: true
|
|
responses:
|
|
"200":
|
|
description: "New webhook stored, result in response."
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/WebhookSingle'
|
|
"422":
|
|
description: Validation error. The body will have the exact details.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ValidationErrorResponse'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
/v1/webhooks/{id}:
|
|
get:
|
|
tags:
|
|
- webhooks
|
|
summary: Get a single webhook.
|
|
description: Gets all info of a single webhook.
|
|
operationId: getWebhook
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The webhook ID.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
responses:
|
|
"200":
|
|
description: The requested webhook.
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/WebhookSingle'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
put:
|
|
tags:
|
|
- webhooks
|
|
summary: Update existing webhook.
|
|
description: "Update an existing webhook's information. If you wish to reset\
|
|
\ the secret, submit any value as the \"secret\". Firefly III will take this\
|
|
\ as a hint and reset the secret of the webhook."
|
|
operationId: updateWebhook
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The webhook ID.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
requestBody:
|
|
description: JSON array with updated webhook information. See the model for
|
|
the exact specifications.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/WebhookUpdate'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/WebhookUpdate'
|
|
required: true
|
|
responses:
|
|
"200":
|
|
description: "Updated webhook stored, result in response"
|
|
content:
|
|
application/vnd.api+json:
|
|
schema:
|
|
$ref: '#/components/schemas/WebhookSingle'
|
|
"422":
|
|
description: Validation error. The body will have the exact details.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ValidationErrorResponse'
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
delete:
|
|
tags:
|
|
- webhooks
|
|
summary: Delete a webhook.
|
|
description: Delete a webhook.
|
|
operationId: deleteWebhook
|
|
parameters:
|
|
- name: X-Trace-Id
|
|
in: header
|
|
description: Unique identifier associated with this request.
|
|
required: false
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
description: The webhook ID.
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
example: "123"
|
|
responses:
|
|
"204":
|
|
description: Webhook deleted.
|
|
"401":
|
|
description: Unauthenticated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnauthenticatedResponse'
|
|
"404":
|
|
description: Page not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotFoundResponse'
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BadRequestResponse'
|
|
"500":
|
|
description: Internal exception
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InternalExceptionResponse'
|
|
components:
|
|
schemas:
|
|
AccountArray:
|
|
required:
|
|
- data
|
|
- meta
|
|
type: object
|
|
properties:
|
|
data:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/AccountRead'
|
|
meta:
|
|
$ref: '#/components/schemas/Meta'
|
|
example:
|
|
data:
|
|
- attributes:
|
|
account_number: "7009312345678"
|
|
notes: Some example notes
|
|
account_role: defaultAsset
|
|
latitude: 51.983333
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
zoom_level: 6
|
|
type: asset
|
|
currency_code: EUR
|
|
currency_decimal_places: 2
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
current_balance_date: 2018-09-17T12:46:47+01:00
|
|
interest: "5.3"
|
|
current_balance: "123.45"
|
|
opening_balance: "-1012.12"
|
|
interest_period: monthly
|
|
order: 1
|
|
current_debt: "1012.12"
|
|
longitude: 5.916667
|
|
include_net_worth: true
|
|
opening_balance_date: 2018-09-17T12:46:47+01:00
|
|
currency_symbol: $
|
|
active: false
|
|
monthly_payment_date: 2018-09-17T12:46:47+01:00
|
|
virtual_balance: "123.45"
|
|
liability_type: loan
|
|
credit_card_type: monthlyFull
|
|
iban: GB98MIDL07009312345678
|
|
name: My checking account
|
|
bic: BOFAUS3N
|
|
liability_direction: credit
|
|
currency_id: "12"
|
|
id: "2"
|
|
type: accounts
|
|
- attributes:
|
|
account_number: "7009312345678"
|
|
notes: Some example notes
|
|
account_role: defaultAsset
|
|
latitude: 51.983333
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
zoom_level: 6
|
|
type: asset
|
|
currency_code: EUR
|
|
currency_decimal_places: 2
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
current_balance_date: 2018-09-17T12:46:47+01:00
|
|
interest: "5.3"
|
|
current_balance: "123.45"
|
|
opening_balance: "-1012.12"
|
|
interest_period: monthly
|
|
order: 1
|
|
current_debt: "1012.12"
|
|
longitude: 5.916667
|
|
include_net_worth: true
|
|
opening_balance_date: 2018-09-17T12:46:47+01:00
|
|
currency_symbol: $
|
|
active: false
|
|
monthly_payment_date: 2018-09-17T12:46:47+01:00
|
|
virtual_balance: "123.45"
|
|
liability_type: loan
|
|
credit_card_type: monthlyFull
|
|
iban: GB98MIDL07009312345678
|
|
name: My checking account
|
|
bic: BOFAUS3N
|
|
liability_direction: credit
|
|
currency_id: "12"
|
|
id: "2"
|
|
type: accounts
|
|
meta:
|
|
pagination:
|
|
per_page: 100
|
|
total: 3
|
|
count: 20
|
|
total_pages: 1
|
|
current_page: 1
|
|
AttachmentArray:
|
|
required:
|
|
- data
|
|
- meta
|
|
type: object
|
|
properties:
|
|
data:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/AttachmentRead'
|
|
meta:
|
|
$ref: '#/components/schemas/Meta'
|
|
example:
|
|
data:
|
|
- attributes:
|
|
filename: file.pdf
|
|
notes: Some notes
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
size: 48211
|
|
mime: application/pdf
|
|
attachable_id: "134"
|
|
download_url: https://demo.firefly-iii.org/api/v1/attachments/191/download
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
upload_url: https://demo.firefly-iii.org/api/v1/attachments/191/download
|
|
title: Some PDF file
|
|
attachable_type: Bill
|
|
md5: 0c3f95f34370baa88f9fd9a671fea305
|
|
links:
|
|
"0":
|
|
rel: self
|
|
uri: /OBJECTS/1
|
|
self: https://demo.firefly-iii.org/api/v1/OBJECTS/1
|
|
id: "2"
|
|
type: attachments
|
|
- attributes:
|
|
filename: file.pdf
|
|
notes: Some notes
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
size: 48211
|
|
mime: application/pdf
|
|
attachable_id: "134"
|
|
download_url: https://demo.firefly-iii.org/api/v1/attachments/191/download
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
upload_url: https://demo.firefly-iii.org/api/v1/attachments/191/download
|
|
title: Some PDF file
|
|
attachable_type: Bill
|
|
md5: 0c3f95f34370baa88f9fd9a671fea305
|
|
links:
|
|
"0":
|
|
rel: self
|
|
uri: /OBJECTS/1
|
|
self: https://demo.firefly-iii.org/api/v1/OBJECTS/1
|
|
id: "2"
|
|
type: attachments
|
|
meta:
|
|
pagination:
|
|
per_page: 100
|
|
total: 3
|
|
count: 20
|
|
total_pages: 1
|
|
current_page: 1
|
|
AutocompleteAccountArray:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/AutocompleteAccount'
|
|
x-schema-name: AutocompleteAccountArray
|
|
AutocompleteBillArray:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/AutocompleteBill'
|
|
x-schema-name: AutocompleteBillArray
|
|
AutocompleteBudgetArray:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/AutocompleteBudget'
|
|
x-schema-name: AutocompleteBudgetArray
|
|
AutocompleteCategoryArray:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/AutocompleteCategory'
|
|
x-schema-name: AutocompleteCategoryArray
|
|
AutocompleteCurrencyArray:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/AutocompleteCurrency'
|
|
x-schema-name: AutocompleteCurrencyArray
|
|
AutocompleteCurrencyCodeArray:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/AutocompleteCurrencyCode'
|
|
x-schema-name: AutocompleteCurrencyCodeArray
|
|
AutocompleteObjectGroupArray:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/AutocompleteObjectGroup'
|
|
x-schema-name: AutocompleteObjectGroupArray
|
|
AutocompletePiggyArray:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/AutocompletePiggy'
|
|
x-schema-name: AutocompletePiggyArray
|
|
AutocompletePiggyBalanceArray:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/AutocompletePiggyBalance'
|
|
x-schema-name: AutocompletePiggyBalanceArray
|
|
AutocompleteRecurrenceArray:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/AutocompleteRecurrence'
|
|
x-schema-name: AutocompleteRecurrenceArray
|
|
AutocompleteRuleArray:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/AutocompleteRule'
|
|
x-schema-name: AutocompleteRuleArray
|
|
AutocompleteRuleGroupArray:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/AutocompleteRuleGroup'
|
|
x-schema-name: AutocompleteRuleGroupArray
|
|
AutocompleteTagArray:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/AutocompleteTag'
|
|
x-schema-name: AutocompleteTagArray
|
|
AutocompleteTransactionArray:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/AutocompleteTransaction'
|
|
x-schema-name: AutocompleteTransactionArray
|
|
AutocompleteTransactionIDArray:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/AutocompleteTransactionID'
|
|
x-schema-name: AutocompleteTransactionIDArray
|
|
AutocompleteTransactionTypeArray:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/AutocompleteTransactionType'
|
|
x-schema-name: AutocompleteTransactionTypeArray
|
|
AvailableBudgetArray:
|
|
required:
|
|
- data
|
|
- meta
|
|
type: object
|
|
properties:
|
|
data:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/AvailableBudgetRead'
|
|
meta:
|
|
$ref: '#/components/schemas/Meta'
|
|
example:
|
|
data:
|
|
- attributes:
|
|
amount: "123.45"
|
|
spent_outside_budget:
|
|
- null
|
|
- null
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
spent_in_budgets:
|
|
- currency_symbol: $
|
|
sum: "123.45"
|
|
currency_id: "5"
|
|
currency_code: USD
|
|
currency_decimal_places: 2
|
|
- currency_symbol: $
|
|
sum: "123.45"
|
|
currency_id: "5"
|
|
currency_code: USD
|
|
currency_decimal_places: 2
|
|
currency_symbol: $
|
|
start: 2018-09-17T12:46:47+01:00
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
end: 2018-09-17T12:46:47+01:00
|
|
currency_id: "5"
|
|
currency_code: EUR
|
|
currency_decimal_places: 2
|
|
id: "2"
|
|
type: available_budgets
|
|
- attributes:
|
|
amount: "123.45"
|
|
spent_outside_budget:
|
|
- null
|
|
- null
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
spent_in_budgets:
|
|
- currency_symbol: $
|
|
sum: "123.45"
|
|
currency_id: "5"
|
|
currency_code: USD
|
|
currency_decimal_places: 2
|
|
- currency_symbol: $
|
|
sum: "123.45"
|
|
currency_id: "5"
|
|
currency_code: USD
|
|
currency_decimal_places: 2
|
|
currency_symbol: $
|
|
start: 2018-09-17T12:46:47+01:00
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
end: 2018-09-17T12:46:47+01:00
|
|
currency_id: "5"
|
|
currency_code: EUR
|
|
currency_decimal_places: 2
|
|
id: "2"
|
|
type: available_budgets
|
|
meta:
|
|
pagination:
|
|
per_page: 100
|
|
total: 3
|
|
count: 20
|
|
total_pages: 1
|
|
current_page: 1
|
|
BillArray:
|
|
required:
|
|
- data
|
|
- meta
|
|
type: object
|
|
properties:
|
|
data:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/BillRead'
|
|
meta:
|
|
$ref: '#/components/schemas/Meta'
|
|
example:
|
|
data:
|
|
- attributes:
|
|
date: 2018-09-17T12:46:47+01:00
|
|
end_date: 2018-09-17T12:46:47+01:00
|
|
notes: Some example notes
|
|
currency_symbol: $
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
active: true
|
|
amount_max: "123.45"
|
|
skip: 0
|
|
next_expected_match: 2018-09-17T12:46:47+01:00
|
|
object_group_order: 5
|
|
next_expected_match_diff: today
|
|
repeat_freq: monthly
|
|
currency_code: EUR
|
|
currency_decimal_places: 2
|
|
extension_date: 2018-09-17T12:46:47+01:00
|
|
pay_dates:
|
|
- 2018-09-17T12:46:47+01:00
|
|
- 2018-09-17T12:46:47+01:00
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
object_group_id: "5"
|
|
paid_dates:
|
|
- date: 2018-09-17T12:46:47+01:00
|
|
transaction_group_id: "123"
|
|
transaction_journal_id: "123"
|
|
- date: 2018-09-17T12:46:47+01:00
|
|
transaction_group_id: "123"
|
|
transaction_journal_id: "123"
|
|
name: Rent
|
|
amount_min: "123.45"
|
|
currency_id: "5"
|
|
order: 1
|
|
object_group_title: Example Group
|
|
id: "2"
|
|
type: bills
|
|
- attributes:
|
|
date: 2018-09-17T12:46:47+01:00
|
|
end_date: 2018-09-17T12:46:47+01:00
|
|
notes: Some example notes
|
|
currency_symbol: $
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
active: true
|
|
amount_max: "123.45"
|
|
skip: 0
|
|
next_expected_match: 2018-09-17T12:46:47+01:00
|
|
object_group_order: 5
|
|
next_expected_match_diff: today
|
|
repeat_freq: monthly
|
|
currency_code: EUR
|
|
currency_decimal_places: 2
|
|
extension_date: 2018-09-17T12:46:47+01:00
|
|
pay_dates:
|
|
- 2018-09-17T12:46:47+01:00
|
|
- 2018-09-17T12:46:47+01:00
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
object_group_id: "5"
|
|
paid_dates:
|
|
- date: 2018-09-17T12:46:47+01:00
|
|
transaction_group_id: "123"
|
|
transaction_journal_id: "123"
|
|
- date: 2018-09-17T12:46:47+01:00
|
|
transaction_group_id: "123"
|
|
transaction_journal_id: "123"
|
|
name: Rent
|
|
amount_min: "123.45"
|
|
currency_id: "5"
|
|
order: 1
|
|
object_group_title: Example Group
|
|
id: "2"
|
|
type: bills
|
|
meta:
|
|
pagination:
|
|
per_page: 100
|
|
total: 3
|
|
count: 20
|
|
total_pages: 1
|
|
current_page: 1
|
|
BudgetArray:
|
|
required:
|
|
- data
|
|
- meta
|
|
type: object
|
|
properties:
|
|
data:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/BudgetRead'
|
|
meta:
|
|
$ref: '#/components/schemas/Meta'
|
|
example:
|
|
data:
|
|
- attributes:
|
|
auto_budget_currency_id: "12"
|
|
auto_budget_amount: "-1012.12"
|
|
auto_budget_period: monthly
|
|
notes: Some notes
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
auto_budget_type: reset
|
|
spent:
|
|
- currency_symbol: $
|
|
sum: "123.45"
|
|
currency_id: "5"
|
|
currency_code: USD
|
|
currency_decimal_places: 2
|
|
- currency_symbol: $
|
|
sum: "123.45"
|
|
currency_id: "5"
|
|
currency_code: USD
|
|
currency_decimal_places: 2
|
|
name: Bills
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
active: false
|
|
auto_budget_currency_code: EUR
|
|
order: 5
|
|
id: "2"
|
|
type: budgets
|
|
- attributes:
|
|
auto_budget_currency_id: "12"
|
|
auto_budget_amount: "-1012.12"
|
|
auto_budget_period: monthly
|
|
notes: Some notes
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
auto_budget_type: reset
|
|
spent:
|
|
- currency_symbol: $
|
|
sum: "123.45"
|
|
currency_id: "5"
|
|
currency_code: USD
|
|
currency_decimal_places: 2
|
|
- currency_symbol: $
|
|
sum: "123.45"
|
|
currency_id: "5"
|
|
currency_code: USD
|
|
currency_decimal_places: 2
|
|
name: Bills
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
active: false
|
|
auto_budget_currency_code: EUR
|
|
order: 5
|
|
id: "2"
|
|
type: budgets
|
|
meta:
|
|
pagination:
|
|
per_page: 100
|
|
total: 3
|
|
count: 20
|
|
total_pages: 1
|
|
current_page: 1
|
|
BudgetLimitArray:
|
|
required:
|
|
- data
|
|
- meta
|
|
type: object
|
|
properties:
|
|
data:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/BudgetLimitRead'
|
|
meta:
|
|
$ref: '#/components/schemas/Meta'
|
|
example:
|
|
data:
|
|
- attributes:
|
|
period: monthly
|
|
amount: "123.45"
|
|
currency_name: Euro
|
|
currency_symbol: $
|
|
budget_id: "23"
|
|
spent: "-1012.12"
|
|
start: 2018-09-17T12:46:47+01:00
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
currency_code: EUR
|
|
currency_decimal_places: 2
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
end: 2018-09-17T12:46:47+01:00
|
|
currency_id: "5"
|
|
id: "2"
|
|
type: budget_limits
|
|
- attributes:
|
|
period: monthly
|
|
amount: "123.45"
|
|
currency_name: Euro
|
|
currency_symbol: $
|
|
budget_id: "23"
|
|
spent: "-1012.12"
|
|
start: 2018-09-17T12:46:47+01:00
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
currency_code: EUR
|
|
currency_decimal_places: 2
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
end: 2018-09-17T12:46:47+01:00
|
|
currency_id: "5"
|
|
id: "2"
|
|
type: budget_limits
|
|
meta:
|
|
pagination:
|
|
per_page: 100
|
|
total: 3
|
|
count: 20
|
|
total_pages: 1
|
|
current_page: 1
|
|
CategoryArray:
|
|
required:
|
|
- data
|
|
- meta
|
|
type: object
|
|
properties:
|
|
data:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/CategoryRead'
|
|
meta:
|
|
$ref: '#/components/schemas/Meta'
|
|
example:
|
|
data:
|
|
- attributes:
|
|
earned:
|
|
- currency_symbol: $
|
|
sum: "123.45"
|
|
currency_id: "5"
|
|
currency_code: USD
|
|
currency_decimal_places: 2
|
|
- currency_symbol: $
|
|
sum: "123.45"
|
|
currency_id: "5"
|
|
currency_code: USD
|
|
currency_decimal_places: 2
|
|
notes: Some example notes
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
spent:
|
|
- currency_symbol: $
|
|
sum: "-12423.45"
|
|
currency_id: "5"
|
|
currency_code: USD
|
|
currency_decimal_places: 2
|
|
- currency_symbol: $
|
|
sum: "-12423.45"
|
|
currency_id: "5"
|
|
currency_code: USD
|
|
currency_decimal_places: 2
|
|
name: Lunch
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
id: "2"
|
|
type: categories
|
|
- attributes:
|
|
earned:
|
|
- currency_symbol: $
|
|
sum: "123.45"
|
|
currency_id: "5"
|
|
currency_code: USD
|
|
currency_decimal_places: 2
|
|
- currency_symbol: $
|
|
sum: "123.45"
|
|
currency_id: "5"
|
|
currency_code: USD
|
|
currency_decimal_places: 2
|
|
notes: Some example notes
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
spent:
|
|
- currency_symbol: $
|
|
sum: "-12423.45"
|
|
currency_id: "5"
|
|
currency_code: USD
|
|
currency_decimal_places: 2
|
|
- currency_symbol: $
|
|
sum: "-12423.45"
|
|
currency_id: "5"
|
|
currency_code: USD
|
|
currency_decimal_places: 2
|
|
name: Lunch
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
id: "2"
|
|
type: categories
|
|
meta:
|
|
pagination:
|
|
per_page: 100
|
|
total: 3
|
|
count: 20
|
|
total_pages: 1
|
|
current_page: 1
|
|
ConfigurationArray:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/Configuration'
|
|
x-schema-name: ConfigurationArray
|
|
CurrencyArray:
|
|
required:
|
|
- data
|
|
- links
|
|
- meta
|
|
type: object
|
|
properties:
|
|
data:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/CurrencyRead'
|
|
meta:
|
|
$ref: '#/components/schemas/Meta'
|
|
links:
|
|
$ref: '#/components/schemas/PageLink'
|
|
example:
|
|
data:
|
|
- attributes:
|
|
symbol: AM$
|
|
default: false
|
|
code: AMS
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
name: Ankh-Morpork dollar
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
enabled: true
|
|
decimal_places: 2
|
|
id: "2"
|
|
type: currencies
|
|
- attributes:
|
|
symbol: AM$
|
|
default: false
|
|
code: AMS
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
name: Ankh-Morpork dollar
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
enabled: true
|
|
decimal_places: 2
|
|
id: "2"
|
|
type: currencies
|
|
meta:
|
|
pagination:
|
|
per_page: 100
|
|
total: 3
|
|
count: 20
|
|
total_pages: 1
|
|
current_page: 1
|
|
links:
|
|
next: https://demo.firefly-iii.org/api/v1/OBJECT?&page=3
|
|
last: https://demo.firefly-iii.org/api/v1/OBJECT?&page=12
|
|
prev: https://demo.firefly-iii.org/api/v1/OBJECT?&page=2
|
|
self: https://demo.firefly-iii.org/api/v1/OBJECT?&page=4
|
|
first: https://demo.firefly-iii.org/api/v1/OBJECT?&page=1
|
|
LinkTypeArray:
|
|
required:
|
|
- data
|
|
- links
|
|
- meta
|
|
type: object
|
|
properties:
|
|
data:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/LinkTypeRead'
|
|
meta:
|
|
$ref: '#/components/schemas/Meta'
|
|
links:
|
|
$ref: '#/components/schemas/PageLink'
|
|
example:
|
|
data:
|
|
- attributes:
|
|
inward: is (partially) paid for by
|
|
editable: false
|
|
name: Paid
|
|
outward: (partially) pays for
|
|
links:
|
|
"0":
|
|
rel: self
|
|
uri: /OBJECTS/1
|
|
self: https://demo.firefly-iii.org/api/v1/OBJECTS/1
|
|
id: "2"
|
|
type: link_types
|
|
- attributes:
|
|
inward: is (partially) paid for by
|
|
editable: false
|
|
name: Paid
|
|
outward: (partially) pays for
|
|
links:
|
|
"0":
|
|
rel: self
|
|
uri: /OBJECTS/1
|
|
self: https://demo.firefly-iii.org/api/v1/OBJECTS/1
|
|
id: "2"
|
|
type: link_types
|
|
meta:
|
|
pagination:
|
|
per_page: 100
|
|
total: 3
|
|
count: 20
|
|
total_pages: 1
|
|
current_page: 1
|
|
links:
|
|
next: https://demo.firefly-iii.org/api/v1/OBJECT?&page=3
|
|
last: https://demo.firefly-iii.org/api/v1/OBJECT?&page=12
|
|
prev: https://demo.firefly-iii.org/api/v1/OBJECT?&page=2
|
|
self: https://demo.firefly-iii.org/api/v1/OBJECT?&page=4
|
|
first: https://demo.firefly-iii.org/api/v1/OBJECT?&page=1
|
|
ObjectGroupArray:
|
|
required:
|
|
- data
|
|
- meta
|
|
type: object
|
|
properties:
|
|
data:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/ObjectGroupRead'
|
|
meta:
|
|
$ref: '#/components/schemas/Meta'
|
|
example:
|
|
data:
|
|
- attributes:
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
title: My object group
|
|
order: 1
|
|
id: "2"
|
|
type: object_groups
|
|
- attributes:
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
title: My object group
|
|
order: 1
|
|
id: "2"
|
|
type: object_groups
|
|
meta:
|
|
pagination:
|
|
per_page: 100
|
|
total: 3
|
|
count: 20
|
|
total_pages: 1
|
|
current_page: 1
|
|
PiggyBankArray:
|
|
required:
|
|
- data
|
|
- links
|
|
- meta
|
|
type: object
|
|
properties:
|
|
data:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/PiggyBankRead'
|
|
meta:
|
|
$ref: '#/components/schemas/Meta'
|
|
links:
|
|
$ref: '#/components/schemas/PageLink'
|
|
example:
|
|
data:
|
|
- attributes:
|
|
target_amount: "123.45"
|
|
notes: Some notes
|
|
target_date: 2018-09-17T00:00:00.000+00:00
|
|
currency_symbol: $
|
|
left_to_save: "700.00"
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
active: true
|
|
object_group_order: 5
|
|
currency_code: USD
|
|
currency_decimal_places: 2
|
|
current_amount: "123.45"
|
|
account_id: "13"
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
object_group_id: "5"
|
|
account_name: Savings account
|
|
percentage: 12.5
|
|
name: New digital camera
|
|
currency_id: "5"
|
|
save_per_month: "12.45"
|
|
start_date: 2018-09-17T00:00:00.000+00:00
|
|
order: 5
|
|
object_group_title: Example Group
|
|
links:
|
|
"0":
|
|
rel: self
|
|
uri: /OBJECTS/1
|
|
self: https://demo.firefly-iii.org/api/v1/OBJECTS/1
|
|
id: "2"
|
|
type: piggy_banks
|
|
- attributes:
|
|
target_amount: "123.45"
|
|
notes: Some notes
|
|
target_date: 2018-09-17T00:00:00.000+00:00
|
|
currency_symbol: $
|
|
left_to_save: "700.00"
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
active: true
|
|
object_group_order: 5
|
|
currency_code: USD
|
|
currency_decimal_places: 2
|
|
current_amount: "123.45"
|
|
account_id: "13"
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
object_group_id: "5"
|
|
account_name: Savings account
|
|
percentage: 12.5
|
|
name: New digital camera
|
|
currency_id: "5"
|
|
save_per_month: "12.45"
|
|
start_date: 2018-09-17T00:00:00.000+00:00
|
|
order: 5
|
|
object_group_title: Example Group
|
|
links:
|
|
"0":
|
|
rel: self
|
|
uri: /OBJECTS/1
|
|
self: https://demo.firefly-iii.org/api/v1/OBJECTS/1
|
|
id: "2"
|
|
type: piggy_banks
|
|
meta:
|
|
pagination:
|
|
per_page: 100
|
|
total: 3
|
|
count: 20
|
|
total_pages: 1
|
|
current_page: 1
|
|
links:
|
|
next: https://demo.firefly-iii.org/api/v1/OBJECT?&page=3
|
|
last: https://demo.firefly-iii.org/api/v1/OBJECT?&page=12
|
|
prev: https://demo.firefly-iii.org/api/v1/OBJECT?&page=2
|
|
self: https://demo.firefly-iii.org/api/v1/OBJECT?&page=4
|
|
first: https://demo.firefly-iii.org/api/v1/OBJECT?&page=1
|
|
PiggyBankEventArray:
|
|
required:
|
|
- data
|
|
- links
|
|
- meta
|
|
type: object
|
|
properties:
|
|
data:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/PiggyBankEventRead'
|
|
meta:
|
|
$ref: '#/components/schemas/Meta'
|
|
links:
|
|
$ref: '#/components/schemas/PageLink'
|
|
example:
|
|
data:
|
|
- attributes:
|
|
amount: "123.45"
|
|
transaction_journal_id: "4291"
|
|
transaction_group_id: "4291"
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
currency_symbol: $
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
currency_id: "5"
|
|
currency_code: EUR
|
|
currency_decimal_places: 2
|
|
links:
|
|
"0":
|
|
rel: self
|
|
uri: /OBJECTS/1
|
|
self: https://demo.firefly-iii.org/api/v1/OBJECTS/1
|
|
id: "2"
|
|
type: piggy_bank_events
|
|
- attributes:
|
|
amount: "123.45"
|
|
transaction_journal_id: "4291"
|
|
transaction_group_id: "4291"
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
currency_symbol: $
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
currency_id: "5"
|
|
currency_code: EUR
|
|
currency_decimal_places: 2
|
|
links:
|
|
"0":
|
|
rel: self
|
|
uri: /OBJECTS/1
|
|
self: https://demo.firefly-iii.org/api/v1/OBJECTS/1
|
|
id: "2"
|
|
type: piggy_bank_events
|
|
meta:
|
|
pagination:
|
|
per_page: 100
|
|
total: 3
|
|
count: 20
|
|
total_pages: 1
|
|
current_page: 1
|
|
links:
|
|
next: https://demo.firefly-iii.org/api/v1/OBJECT?&page=3
|
|
last: https://demo.firefly-iii.org/api/v1/OBJECT?&page=12
|
|
prev: https://demo.firefly-iii.org/api/v1/OBJECT?&page=2
|
|
self: https://demo.firefly-iii.org/api/v1/OBJECT?&page=4
|
|
first: https://demo.firefly-iii.org/api/v1/OBJECT?&page=1
|
|
PreferenceArray:
|
|
required:
|
|
- data
|
|
- links
|
|
- meta
|
|
type: object
|
|
properties:
|
|
data:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/PreferenceRead'
|
|
meta:
|
|
$ref: '#/components/schemas/Meta'
|
|
links:
|
|
$ref: '#/components/schemas/PageLink'
|
|
example:
|
|
data:
|
|
- attributes:
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
data: ""
|
|
name: currencyPreference
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
id: "2"
|
|
type: preferences
|
|
- attributes:
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
data: ""
|
|
name: currencyPreference
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
id: "2"
|
|
type: preferences
|
|
meta:
|
|
pagination:
|
|
per_page: 100
|
|
total: 3
|
|
count: 20
|
|
total_pages: 1
|
|
current_page: 1
|
|
links:
|
|
next: https://demo.firefly-iii.org/api/v1/OBJECT?&page=3
|
|
last: https://demo.firefly-iii.org/api/v1/OBJECT?&page=12
|
|
prev: https://demo.firefly-iii.org/api/v1/OBJECT?&page=2
|
|
self: https://demo.firefly-iii.org/api/v1/OBJECT?&page=4
|
|
first: https://demo.firefly-iii.org/api/v1/OBJECT?&page=1
|
|
RecurrenceArray:
|
|
required:
|
|
- data
|
|
- links
|
|
- meta
|
|
type: object
|
|
properties:
|
|
data:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/RecurrenceRead'
|
|
meta:
|
|
$ref: '#/components/schemas/Meta'
|
|
links:
|
|
$ref: '#/components/schemas/PageLink'
|
|
example:
|
|
data:
|
|
- attributes:
|
|
apply_rules: true
|
|
nr_of_repetitions: 5
|
|
notes: Some notes
|
|
repeat_until: 2018-09-17T00:00:00.000+00:00
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
description: Recurring transaction for the monthly rent
|
|
active: true
|
|
type: withdrawal
|
|
title: Rent
|
|
transactions:
|
|
- category_name: Bills
|
|
destination_iban: NL02ABNA0123456789
|
|
source_iban: NL02ABNA0123456789
|
|
budget_id: "4"
|
|
destination_id: "258"
|
|
description: Rent for the current month
|
|
destination_name: Buy and Large
|
|
currency_code: EUR
|
|
currency_decimal_places: 2
|
|
destination_type: null
|
|
category_id: "211"
|
|
foreign_currency_symbol: $
|
|
piggy_bank_name: piggy_bank_name
|
|
id: ID of the recurring transaction. Not to be confused with the ID
|
|
of the recurrence itself.
|
|
foreign_currency_id: "17"
|
|
source_name: Checking account
|
|
bill_id: "123"
|
|
amount: "123.45"
|
|
budget_name: Groceries
|
|
foreign_currency_code: GBP
|
|
currency_symbol: €
|
|
source_type: Asset account
|
|
foreign_currency_decimal_places: 2
|
|
bill_name: bill_name
|
|
piggy_bank_id: "123"
|
|
tags:
|
|
- Barbecue preparation
|
|
- Barbecue preparation
|
|
foreign_amount: "123.45"
|
|
source_id: "913"
|
|
currency_id: "3"
|
|
- category_name: Bills
|
|
destination_iban: NL02ABNA0123456789
|
|
source_iban: NL02ABNA0123456789
|
|
budget_id: "4"
|
|
destination_id: "258"
|
|
description: Rent for the current month
|
|
destination_name: Buy and Large
|
|
currency_code: EUR
|
|
currency_decimal_places: 2
|
|
destination_type: null
|
|
category_id: "211"
|
|
foreign_currency_symbol: $
|
|
piggy_bank_name: piggy_bank_name
|
|
id: ID of the recurring transaction. Not to be confused with the ID
|
|
of the recurrence itself.
|
|
foreign_currency_id: "17"
|
|
source_name: Checking account
|
|
bill_id: "123"
|
|
amount: "123.45"
|
|
budget_name: Groceries
|
|
foreign_currency_code: GBP
|
|
currency_symbol: €
|
|
source_type: Asset account
|
|
foreign_currency_decimal_places: 2
|
|
bill_name: bill_name
|
|
piggy_bank_id: "123"
|
|
tags:
|
|
- Barbecue preparation
|
|
- Barbecue preparation
|
|
foreign_amount: "123.45"
|
|
source_id: "913"
|
|
currency_id: "3"
|
|
repetitions:
|
|
- occurrences:
|
|
- 2018-09-17T12:46:47+01:00
|
|
- 2018-09-17T12:46:47+01:00
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
weekend: 1
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
description: Every week on Friday
|
|
skip: 0
|
|
id: "2"
|
|
type: weekly
|
|
moment: "3"
|
|
- occurrences:
|
|
- 2018-09-17T12:46:47+01:00
|
|
- 2018-09-17T12:46:47+01:00
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
weekend: 1
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
description: Every week on Friday
|
|
skip: 0
|
|
id: "2"
|
|
type: weekly
|
|
moment: "3"
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
latest_date: 2018-09-17T00:00:00.000+00:00
|
|
first_date: 2018-09-17T00:00:00.000+00:00
|
|
links:
|
|
"0":
|
|
rel: self
|
|
uri: /OBJECTS/1
|
|
self: https://demo.firefly-iii.org/api/v1/OBJECTS/1
|
|
id: "2"
|
|
type: recurrences
|
|
- attributes:
|
|
apply_rules: true
|
|
nr_of_repetitions: 5
|
|
notes: Some notes
|
|
repeat_until: 2018-09-17T00:00:00.000+00:00
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
description: Recurring transaction for the monthly rent
|
|
active: true
|
|
type: withdrawal
|
|
title: Rent
|
|
transactions:
|
|
- category_name: Bills
|
|
destination_iban: NL02ABNA0123456789
|
|
source_iban: NL02ABNA0123456789
|
|
budget_id: "4"
|
|
destination_id: "258"
|
|
description: Rent for the current month
|
|
destination_name: Buy and Large
|
|
currency_code: EUR
|
|
currency_decimal_places: 2
|
|
destination_type: null
|
|
category_id: "211"
|
|
foreign_currency_symbol: $
|
|
piggy_bank_name: piggy_bank_name
|
|
id: ID of the recurring transaction. Not to be confused with the ID
|
|
of the recurrence itself.
|
|
foreign_currency_id: "17"
|
|
source_name: Checking account
|
|
bill_id: "123"
|
|
amount: "123.45"
|
|
budget_name: Groceries
|
|
foreign_currency_code: GBP
|
|
currency_symbol: €
|
|
source_type: Asset account
|
|
foreign_currency_decimal_places: 2
|
|
bill_name: bill_name
|
|
piggy_bank_id: "123"
|
|
tags:
|
|
- Barbecue preparation
|
|
- Barbecue preparation
|
|
foreign_amount: "123.45"
|
|
source_id: "913"
|
|
currency_id: "3"
|
|
- category_name: Bills
|
|
destination_iban: NL02ABNA0123456789
|
|
source_iban: NL02ABNA0123456789
|
|
budget_id: "4"
|
|
destination_id: "258"
|
|
description: Rent for the current month
|
|
destination_name: Buy and Large
|
|
currency_code: EUR
|
|
currency_decimal_places: 2
|
|
destination_type: null
|
|
category_id: "211"
|
|
foreign_currency_symbol: $
|
|
piggy_bank_name: piggy_bank_name
|
|
id: ID of the recurring transaction. Not to be confused with the ID
|
|
of the recurrence itself.
|
|
foreign_currency_id: "17"
|
|
source_name: Checking account
|
|
bill_id: "123"
|
|
amount: "123.45"
|
|
budget_name: Groceries
|
|
foreign_currency_code: GBP
|
|
currency_symbol: €
|
|
source_type: Asset account
|
|
foreign_currency_decimal_places: 2
|
|
bill_name: bill_name
|
|
piggy_bank_id: "123"
|
|
tags:
|
|
- Barbecue preparation
|
|
- Barbecue preparation
|
|
foreign_amount: "123.45"
|
|
source_id: "913"
|
|
currency_id: "3"
|
|
repetitions:
|
|
- occurrences:
|
|
- 2018-09-17T12:46:47+01:00
|
|
- 2018-09-17T12:46:47+01:00
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
weekend: 1
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
description: Every week on Friday
|
|
skip: 0
|
|
id: "2"
|
|
type: weekly
|
|
moment: "3"
|
|
- occurrences:
|
|
- 2018-09-17T12:46:47+01:00
|
|
- 2018-09-17T12:46:47+01:00
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
weekend: 1
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
description: Every week on Friday
|
|
skip: 0
|
|
id: "2"
|
|
type: weekly
|
|
moment: "3"
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
latest_date: 2018-09-17T00:00:00.000+00:00
|
|
first_date: 2018-09-17T00:00:00.000+00:00
|
|
links:
|
|
"0":
|
|
rel: self
|
|
uri: /OBJECTS/1
|
|
self: https://demo.firefly-iii.org/api/v1/OBJECTS/1
|
|
id: "2"
|
|
type: recurrences
|
|
meta:
|
|
pagination:
|
|
per_page: 100
|
|
total: 3
|
|
count: 20
|
|
total_pages: 1
|
|
current_page: 1
|
|
links:
|
|
next: https://demo.firefly-iii.org/api/v1/OBJECT?&page=3
|
|
last: https://demo.firefly-iii.org/api/v1/OBJECT?&page=12
|
|
prev: https://demo.firefly-iii.org/api/v1/OBJECT?&page=2
|
|
self: https://demo.firefly-iii.org/api/v1/OBJECT?&page=4
|
|
first: https://demo.firefly-iii.org/api/v1/OBJECT?&page=1
|
|
RuleArray:
|
|
required:
|
|
- data
|
|
- links
|
|
- meta
|
|
type: object
|
|
properties:
|
|
data:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/RuleRead'
|
|
meta:
|
|
$ref: '#/components/schemas/Meta'
|
|
links:
|
|
$ref: '#/components/schemas/PageLink'
|
|
example:
|
|
data:
|
|
- attributes:
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
description: First rule description
|
|
active: true
|
|
trigger: store-journal
|
|
title: First rule title.
|
|
rule_group_id: "81"
|
|
triggers:
|
|
- stop_processing: false
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
prohibited: false
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
active: true
|
|
id: "2"
|
|
type: user_action
|
|
value: tag1
|
|
order: 5
|
|
- stop_processing: false
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
prohibited: false
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
active: true
|
|
id: "2"
|
|
type: user_action
|
|
value: tag1
|
|
order: 5
|
|
stop_processing: false
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
rule_group_title: New rule group
|
|
strict: true
|
|
actions:
|
|
- stop_processing: false
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
active: true
|
|
id: "2"
|
|
type: set_category
|
|
value: Daily groceries
|
|
order: 5
|
|
- stop_processing: false
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
active: true
|
|
id: "2"
|
|
type: set_category
|
|
value: Daily groceries
|
|
order: 5
|
|
order: 5
|
|
links:
|
|
"0":
|
|
rel: self
|
|
uri: /OBJECTS/1
|
|
self: https://demo.firefly-iii.org/api/v1/OBJECTS/1
|
|
id: "2"
|
|
type: rules
|
|
- attributes:
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
description: First rule description
|
|
active: true
|
|
trigger: store-journal
|
|
title: First rule title.
|
|
rule_group_id: "81"
|
|
triggers:
|
|
- stop_processing: false
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
prohibited: false
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
active: true
|
|
id: "2"
|
|
type: user_action
|
|
value: tag1
|
|
order: 5
|
|
- stop_processing: false
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
prohibited: false
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
active: true
|
|
id: "2"
|
|
type: user_action
|
|
value: tag1
|
|
order: 5
|
|
stop_processing: false
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
rule_group_title: New rule group
|
|
strict: true
|
|
actions:
|
|
- stop_processing: false
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
active: true
|
|
id: "2"
|
|
type: set_category
|
|
value: Daily groceries
|
|
order: 5
|
|
- stop_processing: false
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
active: true
|
|
id: "2"
|
|
type: set_category
|
|
value: Daily groceries
|
|
order: 5
|
|
order: 5
|
|
links:
|
|
"0":
|
|
rel: self
|
|
uri: /OBJECTS/1
|
|
self: https://demo.firefly-iii.org/api/v1/OBJECTS/1
|
|
id: "2"
|
|
type: rules
|
|
meta:
|
|
pagination:
|
|
per_page: 100
|
|
total: 3
|
|
count: 20
|
|
total_pages: 1
|
|
current_page: 1
|
|
links:
|
|
next: https://demo.firefly-iii.org/api/v1/OBJECT?&page=3
|
|
last: https://demo.firefly-iii.org/api/v1/OBJECT?&page=12
|
|
prev: https://demo.firefly-iii.org/api/v1/OBJECT?&page=2
|
|
self: https://demo.firefly-iii.org/api/v1/OBJECT?&page=4
|
|
first: https://demo.firefly-iii.org/api/v1/OBJECT?&page=1
|
|
RuleGroupArray:
|
|
required:
|
|
- data
|
|
- links
|
|
- meta
|
|
type: object
|
|
properties:
|
|
data:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/RuleGroupRead'
|
|
meta:
|
|
$ref: '#/components/schemas/Meta'
|
|
links:
|
|
$ref: '#/components/schemas/PageLink'
|
|
example:
|
|
data:
|
|
- attributes:
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
description: Description of this rule group
|
|
active: true
|
|
title: Default rule group
|
|
order: 4
|
|
links:
|
|
"0":
|
|
rel: self
|
|
uri: /OBJECTS/1
|
|
self: https://demo.firefly-iii.org/api/v1/OBJECTS/1
|
|
id: "2"
|
|
type: rules_group
|
|
- attributes:
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
description: Description of this rule group
|
|
active: true
|
|
title: Default rule group
|
|
order: 4
|
|
links:
|
|
"0":
|
|
rel: self
|
|
uri: /OBJECTS/1
|
|
self: https://demo.firefly-iii.org/api/v1/OBJECTS/1
|
|
id: "2"
|
|
type: rules_group
|
|
meta:
|
|
pagination:
|
|
per_page: 100
|
|
total: 3
|
|
count: 20
|
|
total_pages: 1
|
|
current_page: 1
|
|
links:
|
|
next: https://demo.firefly-iii.org/api/v1/OBJECT?&page=3
|
|
last: https://demo.firefly-iii.org/api/v1/OBJECT?&page=12
|
|
prev: https://demo.firefly-iii.org/api/v1/OBJECT?&page=2
|
|
self: https://demo.firefly-iii.org/api/v1/OBJECT?&page=4
|
|
first: https://demo.firefly-iii.org/api/v1/OBJECT?&page=1
|
|
TagArray:
|
|
required:
|
|
- data
|
|
- links
|
|
- meta
|
|
type: object
|
|
properties:
|
|
data:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/TagRead'
|
|
meta:
|
|
$ref: '#/components/schemas/Meta'
|
|
links:
|
|
$ref: '#/components/schemas/PageLink'
|
|
example:
|
|
data:
|
|
- attributes:
|
|
date: 2018-09-17T00:00:00.000+00:00
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
latitude: 51.983333
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
description: Tag for expensive stuff
|
|
tag: expensive
|
|
zoom_level: 6
|
|
longitude: 5.916667
|
|
links:
|
|
"0":
|
|
rel: self
|
|
uri: /OBJECTS/1
|
|
self: https://demo.firefly-iii.org/api/v1/OBJECTS/1
|
|
id: "2"
|
|
type: tags
|
|
- attributes:
|
|
date: 2018-09-17T00:00:00.000+00:00
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
latitude: 51.983333
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
description: Tag for expensive stuff
|
|
tag: expensive
|
|
zoom_level: 6
|
|
longitude: 5.916667
|
|
links:
|
|
"0":
|
|
rel: self
|
|
uri: /OBJECTS/1
|
|
self: https://demo.firefly-iii.org/api/v1/OBJECTS/1
|
|
id: "2"
|
|
type: tags
|
|
meta:
|
|
pagination:
|
|
per_page: 100
|
|
total: 3
|
|
count: 20
|
|
total_pages: 1
|
|
current_page: 1
|
|
links:
|
|
next: https://demo.firefly-iii.org/api/v1/OBJECT?&page=3
|
|
last: https://demo.firefly-iii.org/api/v1/OBJECT?&page=12
|
|
prev: https://demo.firefly-iii.org/api/v1/OBJECT?&page=2
|
|
self: https://demo.firefly-iii.org/api/v1/OBJECT?&page=4
|
|
first: https://demo.firefly-iii.org/api/v1/OBJECT?&page=1
|
|
TransactionArray:
|
|
required:
|
|
- data
|
|
- links
|
|
- meta
|
|
type: object
|
|
properties:
|
|
data:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/TransactionRead'
|
|
meta:
|
|
$ref: '#/components/schemas/Meta'
|
|
links:
|
|
$ref: '#/components/schemas/PageLink'
|
|
example:
|
|
data:
|
|
- attributes:
|
|
group_title: Split transaction title.
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
transactions:
|
|
- date: 2018-09-17T12:46:47+01:00
|
|
category_name: Groceries
|
|
notes: Some example notes
|
|
sepa_batch_id: sepa_batch_id
|
|
destination_id: "2"
|
|
zoom_level: 6
|
|
type: withdrawal
|
|
destination_type: null
|
|
external_url: external_url
|
|
transaction_journal_id: "10421"
|
|
payment_date: 2000-01-23T04:56:07.000+00:00
|
|
order: 0
|
|
longitude: 5.916667
|
|
bill_id: "111"
|
|
foreign_currency_code: USD
|
|
reconciled: false
|
|
sepa_country: sepa_country
|
|
source_type: Asset account
|
|
foreign_currency_decimal_places: 2
|
|
bill_name: Monthly rent
|
|
original_source: original_source
|
|
sepa_ct_id: sepa_ct_id
|
|
tags:
|
|
- Barbecue preparation
|
|
- Barbecue preparation
|
|
foreign_amount: "123.45"
|
|
process_date: 2000-01-23T04:56:07.000+00:00
|
|
sepa_ep: sepa_ep
|
|
internal_reference: internal_reference
|
|
sepa_cc: sepa_cc
|
|
destination_iban: NL02ABNA0123456789
|
|
source_iban: NL02ABNA0123456789
|
|
budget_id: "4"
|
|
latitude: 51.983333
|
|
description: Vegetables
|
|
destination_name: Buy and Large
|
|
external_id: external_id
|
|
currency_code: EUR
|
|
import_hash_v2: import_hash_v2
|
|
currency_decimal_places: 2
|
|
invoice_date: 2000-01-23T04:56:07.000+00:00
|
|
category_id: "43"
|
|
foreign_currency_symbol: $
|
|
recurrence_id: recurrence_id
|
|
foreign_currency_id: "17"
|
|
source_name: Checking account
|
|
amount: "123.45"
|
|
budget_name: Groceries
|
|
currency_name: Euro
|
|
has_attachments: false
|
|
currency_symbol: $
|
|
interest_date: 2000-01-23T04:56:07.000+00:00
|
|
sepa_db: sepa_db
|
|
due_date: 2000-01-23T04:56:07.000+00:00
|
|
recurrence_total: 0
|
|
book_date: 2000-01-23T04:56:07.000+00:00
|
|
recurrence_count: 12
|
|
bunq_payment_id: bunq_payment_id
|
|
sepa_ct_op: sepa_ct_op
|
|
source_id: "2"
|
|
user: "3"
|
|
currency_id: "12"
|
|
sepa_ci: sepa_ci
|
|
- date: 2018-09-17T12:46:47+01:00
|
|
category_name: Groceries
|
|
notes: Some example notes
|
|
sepa_batch_id: sepa_batch_id
|
|
destination_id: "2"
|
|
zoom_level: 6
|
|
type: withdrawal
|
|
destination_type: null
|
|
external_url: external_url
|
|
transaction_journal_id: "10421"
|
|
payment_date: 2000-01-23T04:56:07.000+00:00
|
|
order: 0
|
|
longitude: 5.916667
|
|
bill_id: "111"
|
|
foreign_currency_code: USD
|
|
reconciled: false
|
|
sepa_country: sepa_country
|
|
source_type: Asset account
|
|
foreign_currency_decimal_places: 2
|
|
bill_name: Monthly rent
|
|
original_source: original_source
|
|
sepa_ct_id: sepa_ct_id
|
|
tags:
|
|
- Barbecue preparation
|
|
- Barbecue preparation
|
|
foreign_amount: "123.45"
|
|
process_date: 2000-01-23T04:56:07.000+00:00
|
|
sepa_ep: sepa_ep
|
|
internal_reference: internal_reference
|
|
sepa_cc: sepa_cc
|
|
destination_iban: NL02ABNA0123456789
|
|
source_iban: NL02ABNA0123456789
|
|
budget_id: "4"
|
|
latitude: 51.983333
|
|
description: Vegetables
|
|
destination_name: Buy and Large
|
|
external_id: external_id
|
|
currency_code: EUR
|
|
import_hash_v2: import_hash_v2
|
|
currency_decimal_places: 2
|
|
invoice_date: 2000-01-23T04:56:07.000+00:00
|
|
category_id: "43"
|
|
foreign_currency_symbol: $
|
|
recurrence_id: recurrence_id
|
|
foreign_currency_id: "17"
|
|
source_name: Checking account
|
|
amount: "123.45"
|
|
budget_name: Groceries
|
|
currency_name: Euro
|
|
has_attachments: false
|
|
currency_symbol: $
|
|
interest_date: 2000-01-23T04:56:07.000+00:00
|
|
sepa_db: sepa_db
|
|
due_date: 2000-01-23T04:56:07.000+00:00
|
|
recurrence_total: 0
|
|
book_date: 2000-01-23T04:56:07.000+00:00
|
|
recurrence_count: 12
|
|
bunq_payment_id: bunq_payment_id
|
|
sepa_ct_op: sepa_ct_op
|
|
source_id: "2"
|
|
user: "3"
|
|
currency_id: "12"
|
|
sepa_ci: sepa_ci
|
|
user: "3"
|
|
links:
|
|
"0":
|
|
rel: self
|
|
uri: /OBJECTS/1
|
|
self: https://demo.firefly-iii.org/api/v1/OBJECTS/1
|
|
id: "2"
|
|
type: transactions
|
|
- attributes:
|
|
group_title: Split transaction title.
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
transactions:
|
|
- date: 2018-09-17T12:46:47+01:00
|
|
category_name: Groceries
|
|
notes: Some example notes
|
|
sepa_batch_id: sepa_batch_id
|
|
destination_id: "2"
|
|
zoom_level: 6
|
|
type: withdrawal
|
|
destination_type: null
|
|
external_url: external_url
|
|
transaction_journal_id: "10421"
|
|
payment_date: 2000-01-23T04:56:07.000+00:00
|
|
order: 0
|
|
longitude: 5.916667
|
|
bill_id: "111"
|
|
foreign_currency_code: USD
|
|
reconciled: false
|
|
sepa_country: sepa_country
|
|
source_type: Asset account
|
|
foreign_currency_decimal_places: 2
|
|
bill_name: Monthly rent
|
|
original_source: original_source
|
|
sepa_ct_id: sepa_ct_id
|
|
tags:
|
|
- Barbecue preparation
|
|
- Barbecue preparation
|
|
foreign_amount: "123.45"
|
|
process_date: 2000-01-23T04:56:07.000+00:00
|
|
sepa_ep: sepa_ep
|
|
internal_reference: internal_reference
|
|
sepa_cc: sepa_cc
|
|
destination_iban: NL02ABNA0123456789
|
|
source_iban: NL02ABNA0123456789
|
|
budget_id: "4"
|
|
latitude: 51.983333
|
|
description: Vegetables
|
|
destination_name: Buy and Large
|
|
external_id: external_id
|
|
currency_code: EUR
|
|
import_hash_v2: import_hash_v2
|
|
currency_decimal_places: 2
|
|
invoice_date: 2000-01-23T04:56:07.000+00:00
|
|
category_id: "43"
|
|
foreign_currency_symbol: $
|
|
recurrence_id: recurrence_id
|
|
foreign_currency_id: "17"
|
|
source_name: Checking account
|
|
amount: "123.45"
|
|
budget_name: Groceries
|
|
currency_name: Euro
|
|
has_attachments: false
|
|
currency_symbol: $
|
|
interest_date: 2000-01-23T04:56:07.000+00:00
|
|
sepa_db: sepa_db
|
|
due_date: 2000-01-23T04:56:07.000+00:00
|
|
recurrence_total: 0
|
|
book_date: 2000-01-23T04:56:07.000+00:00
|
|
recurrence_count: 12
|
|
bunq_payment_id: bunq_payment_id
|
|
sepa_ct_op: sepa_ct_op
|
|
source_id: "2"
|
|
user: "3"
|
|
currency_id: "12"
|
|
sepa_ci: sepa_ci
|
|
- date: 2018-09-17T12:46:47+01:00
|
|
category_name: Groceries
|
|
notes: Some example notes
|
|
sepa_batch_id: sepa_batch_id
|
|
destination_id: "2"
|
|
zoom_level: 6
|
|
type: withdrawal
|
|
destination_type: null
|
|
external_url: external_url
|
|
transaction_journal_id: "10421"
|
|
payment_date: 2000-01-23T04:56:07.000+00:00
|
|
order: 0
|
|
longitude: 5.916667
|
|
bill_id: "111"
|
|
foreign_currency_code: USD
|
|
reconciled: false
|
|
sepa_country: sepa_country
|
|
source_type: Asset account
|
|
foreign_currency_decimal_places: 2
|
|
bill_name: Monthly rent
|
|
original_source: original_source
|
|
sepa_ct_id: sepa_ct_id
|
|
tags:
|
|
- Barbecue preparation
|
|
- Barbecue preparation
|
|
foreign_amount: "123.45"
|
|
process_date: 2000-01-23T04:56:07.000+00:00
|
|
sepa_ep: sepa_ep
|
|
internal_reference: internal_reference
|
|
sepa_cc: sepa_cc
|
|
destination_iban: NL02ABNA0123456789
|
|
source_iban: NL02ABNA0123456789
|
|
budget_id: "4"
|
|
latitude: 51.983333
|
|
description: Vegetables
|
|
destination_name: Buy and Large
|
|
external_id: external_id
|
|
currency_code: EUR
|
|
import_hash_v2: import_hash_v2
|
|
currency_decimal_places: 2
|
|
invoice_date: 2000-01-23T04:56:07.000+00:00
|
|
category_id: "43"
|
|
foreign_currency_symbol: $
|
|
recurrence_id: recurrence_id
|
|
foreign_currency_id: "17"
|
|
source_name: Checking account
|
|
amount: "123.45"
|
|
budget_name: Groceries
|
|
currency_name: Euro
|
|
has_attachments: false
|
|
currency_symbol: $
|
|
interest_date: 2000-01-23T04:56:07.000+00:00
|
|
sepa_db: sepa_db
|
|
due_date: 2000-01-23T04:56:07.000+00:00
|
|
recurrence_total: 0
|
|
book_date: 2000-01-23T04:56:07.000+00:00
|
|
recurrence_count: 12
|
|
bunq_payment_id: bunq_payment_id
|
|
sepa_ct_op: sepa_ct_op
|
|
source_id: "2"
|
|
user: "3"
|
|
currency_id: "12"
|
|
sepa_ci: sepa_ci
|
|
user: "3"
|
|
links:
|
|
"0":
|
|
rel: self
|
|
uri: /OBJECTS/1
|
|
self: https://demo.firefly-iii.org/api/v1/OBJECTS/1
|
|
id: "2"
|
|
type: transactions
|
|
meta:
|
|
pagination:
|
|
per_page: 100
|
|
total: 3
|
|
count: 20
|
|
total_pages: 1
|
|
current_page: 1
|
|
links:
|
|
next: https://demo.firefly-iii.org/api/v1/OBJECT?&page=3
|
|
last: https://demo.firefly-iii.org/api/v1/OBJECT?&page=12
|
|
prev: https://demo.firefly-iii.org/api/v1/OBJECT?&page=2
|
|
self: https://demo.firefly-iii.org/api/v1/OBJECT?&page=4
|
|
first: https://demo.firefly-iii.org/api/v1/OBJECT?&page=1
|
|
TransactionLinkArray:
|
|
required:
|
|
- data
|
|
- links
|
|
- meta
|
|
type: object
|
|
properties:
|
|
data:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/TransactionLinkRead'
|
|
meta:
|
|
$ref: '#/components/schemas/Meta'
|
|
links:
|
|
$ref: '#/components/schemas/PageLink'
|
|
example:
|
|
data:
|
|
- attributes:
|
|
notes: Some example notes
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
link_type_id: "5"
|
|
link_type_name: Is paid by
|
|
outward_id: "131"
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
inward_id: "131"
|
|
links:
|
|
"0":
|
|
rel: self
|
|
uri: /OBJECTS/1
|
|
self: https://demo.firefly-iii.org/api/v1/OBJECTS/1
|
|
id: "2"
|
|
type: transactionLinks
|
|
- attributes:
|
|
notes: Some example notes
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
link_type_id: "5"
|
|
link_type_name: Is paid by
|
|
outward_id: "131"
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
inward_id: "131"
|
|
links:
|
|
"0":
|
|
rel: self
|
|
uri: /OBJECTS/1
|
|
self: https://demo.firefly-iii.org/api/v1/OBJECTS/1
|
|
id: "2"
|
|
type: transactionLinks
|
|
meta:
|
|
pagination:
|
|
per_page: 100
|
|
total: 3
|
|
count: 20
|
|
total_pages: 1
|
|
current_page: 1
|
|
links:
|
|
next: https://demo.firefly-iii.org/api/v1/OBJECT?&page=3
|
|
last: https://demo.firefly-iii.org/api/v1/OBJECT?&page=12
|
|
prev: https://demo.firefly-iii.org/api/v1/OBJECT?&page=2
|
|
self: https://demo.firefly-iii.org/api/v1/OBJECT?&page=4
|
|
first: https://demo.firefly-iii.org/api/v1/OBJECT?&page=1
|
|
UserArray:
|
|
required:
|
|
- data
|
|
- links
|
|
- meta
|
|
type: object
|
|
properties:
|
|
data:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/UserRead'
|
|
meta:
|
|
$ref: '#/components/schemas/Meta'
|
|
links:
|
|
$ref: '#/components/schemas/PageLink'
|
|
example:
|
|
data:
|
|
- attributes:
|
|
role: owner
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
blocked: false
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
blocked_code: email_changed
|
|
email: james@firefly-iii.org
|
|
links:
|
|
"0":
|
|
rel: self
|
|
uri: /OBJECTS/1
|
|
self: https://demo.firefly-iii.org/api/v1/OBJECTS/1
|
|
id: "2"
|
|
type: users
|
|
- attributes:
|
|
role: owner
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
blocked: false
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
blocked_code: email_changed
|
|
email: james@firefly-iii.org
|
|
links:
|
|
"0":
|
|
rel: self
|
|
uri: /OBJECTS/1
|
|
self: https://demo.firefly-iii.org/api/v1/OBJECTS/1
|
|
id: "2"
|
|
type: users
|
|
meta:
|
|
pagination:
|
|
per_page: 100
|
|
total: 3
|
|
count: 20
|
|
total_pages: 1
|
|
current_page: 1
|
|
links:
|
|
next: https://demo.firefly-iii.org/api/v1/OBJECT?&page=3
|
|
last: https://demo.firefly-iii.org/api/v1/OBJECT?&page=12
|
|
prev: https://demo.firefly-iii.org/api/v1/OBJECT?&page=2
|
|
self: https://demo.firefly-iii.org/api/v1/OBJECT?&page=4
|
|
first: https://demo.firefly-iii.org/api/v1/OBJECT?&page=1
|
|
WebhookArray:
|
|
required:
|
|
- data
|
|
- links
|
|
- meta
|
|
type: object
|
|
properties:
|
|
data:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/WebhookRead'
|
|
meta:
|
|
$ref: '#/components/schemas/Meta'
|
|
links:
|
|
$ref: '#/components/schemas/PageLink'
|
|
example:
|
|
data:
|
|
- attributes:
|
|
delivery: JSON
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
response: RESPONSE_TRANSACTIONS
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
active: false
|
|
secret: iMLZLtLx2JHWhK9Dtyuoqyir
|
|
trigger: DESTROY_TRANSACTION
|
|
title: Update magic mirror on new transaction
|
|
url: https://example.com
|
|
links:
|
|
"0":
|
|
rel: self
|
|
uri: /OBJECTS/1
|
|
self: https://demo.firefly-iii.org/api/v1/OBJECTS/1
|
|
id: "2"
|
|
type: webhooks
|
|
- attributes:
|
|
delivery: JSON
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
response: RESPONSE_TRANSACTIONS
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
active: false
|
|
secret: iMLZLtLx2JHWhK9Dtyuoqyir
|
|
trigger: DESTROY_TRANSACTION
|
|
title: Update magic mirror on new transaction
|
|
url: https://example.com
|
|
links:
|
|
"0":
|
|
rel: self
|
|
uri: /OBJECTS/1
|
|
self: https://demo.firefly-iii.org/api/v1/OBJECTS/1
|
|
id: "2"
|
|
type: webhooks
|
|
meta:
|
|
pagination:
|
|
per_page: 100
|
|
total: 3
|
|
count: 20
|
|
total_pages: 1
|
|
current_page: 1
|
|
links:
|
|
next: https://demo.firefly-iii.org/api/v1/OBJECT?&page=3
|
|
last: https://demo.firefly-iii.org/api/v1/OBJECT?&page=12
|
|
prev: https://demo.firefly-iii.org/api/v1/OBJECT?&page=2
|
|
self: https://demo.firefly-iii.org/api/v1/OBJECT?&page=4
|
|
first: https://demo.firefly-iii.org/api/v1/OBJECT?&page=1
|
|
WebhookAttemptArray:
|
|
required:
|
|
- data
|
|
- meta
|
|
type: object
|
|
properties:
|
|
data:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/WebhookAttemptRead'
|
|
meta:
|
|
$ref: '#/components/schemas/Meta'
|
|
example:
|
|
data:
|
|
- attributes:
|
|
status_code: 404
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
response: Page not found
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
webhook_message_id: "5"
|
|
logs: Page not found
|
|
id: "2"
|
|
type: webhook_attempts
|
|
- attributes:
|
|
status_code: 404
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
response: Page not found
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
webhook_message_id: "5"
|
|
logs: Page not found
|
|
id: "2"
|
|
type: webhook_attempts
|
|
meta:
|
|
pagination:
|
|
per_page: 100
|
|
total: 3
|
|
count: 20
|
|
total_pages: 1
|
|
current_page: 1
|
|
WebhookMessageArray:
|
|
required:
|
|
- data
|
|
- meta
|
|
type: object
|
|
properties:
|
|
data:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/WebhookMessageRead'
|
|
meta:
|
|
$ref: '#/components/schemas/Meta'
|
|
example:
|
|
data:
|
|
- attributes:
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
webhook_id: "5"
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
message: "{some:message}"
|
|
sent: false
|
|
uuid: 7a344c02-5b52-46b1-90e6-a437431dcf07
|
|
errored: false
|
|
id: "2"
|
|
type: webhook_messages
|
|
- attributes:
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
webhook_id: "5"
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
message: "{some:message}"
|
|
sent: false
|
|
uuid: 7a344c02-5b52-46b1-90e6-a437431dcf07
|
|
errored: false
|
|
id: "2"
|
|
type: webhook_messages
|
|
meta:
|
|
pagination:
|
|
per_page: 100
|
|
total: 3
|
|
count: 20
|
|
total_pages: 1
|
|
current_page: 1
|
|
AutocompleteAccount:
|
|
required:
|
|
- currency_code
|
|
- currency_decimal_places
|
|
- currency_id
|
|
- currency_name
|
|
- currency_symbol
|
|
- id
|
|
- name
|
|
- name_with_balance
|
|
- type
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: string
|
|
example: "2"
|
|
name:
|
|
type: string
|
|
description: Name of the account found by an auto-complete search.
|
|
format: string
|
|
example: Checking Account
|
|
name_with_balance:
|
|
type: string
|
|
description: Asset accounts and liabilities have a second field with the
|
|
given date's account balance.
|
|
format: string
|
|
example: Checking Account ($123.45)
|
|
type:
|
|
type: string
|
|
description: Account type of the account found by the auto-complete search.
|
|
format: string
|
|
example: Asset account
|
|
currency_id:
|
|
type: string
|
|
description: ID for the currency used by this account.
|
|
format: string
|
|
example: "12"
|
|
currency_name:
|
|
type: string
|
|
description: Currency name for the currency used by this account.
|
|
format: string
|
|
example: Euro
|
|
currency_code:
|
|
type: string
|
|
description: Currency code for the currency used by this account.
|
|
format: string
|
|
example: EUR
|
|
currency_symbol:
|
|
type: string
|
|
description: Currency symbol for the currency used by this account.
|
|
format: string
|
|
example: $
|
|
currency_decimal_places:
|
|
type: integer
|
|
description: Number of decimal places for the currency used by this account.
|
|
format: int32
|
|
example: 2
|
|
example:
|
|
currency_name: Euro
|
|
currency_symbol: $
|
|
name: Checking Account
|
|
id: "2"
|
|
name_with_balance: Checking Account ($123.45)
|
|
type: Asset account
|
|
currency_id: "12"
|
|
currency_code: EUR
|
|
currency_decimal_places: 2
|
|
AutocompleteBill:
|
|
required:
|
|
- id
|
|
- name
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: string
|
|
example: "2"
|
|
name:
|
|
type: string
|
|
description: Name of the bill found by an auto-complete search.
|
|
format: string
|
|
example: Yearly bill
|
|
active:
|
|
type: boolean
|
|
description: Is the bill active or not?
|
|
format: boolean
|
|
example: true
|
|
example:
|
|
name: Yearly bill
|
|
active: true
|
|
id: "2"
|
|
AutocompleteBudget:
|
|
required:
|
|
- id
|
|
- name
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: string
|
|
example: "2"
|
|
name:
|
|
type: string
|
|
description: Name of the budget found by an auto-complete search.
|
|
format: string
|
|
example: Groceries
|
|
example:
|
|
name: Groceries
|
|
id: "2"
|
|
AutocompleteCategory:
|
|
required:
|
|
- id
|
|
- name
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: string
|
|
example: "2"
|
|
name:
|
|
type: string
|
|
description: Name of the category found by an auto-complete search.
|
|
format: string
|
|
example: Category X
|
|
example:
|
|
name: Category X
|
|
id: "2"
|
|
AutocompleteCurrency:
|
|
required:
|
|
- code
|
|
- decimal_places
|
|
- id
|
|
- name
|
|
- symbol
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: string
|
|
example: "2"
|
|
name:
|
|
type: string
|
|
description: Currency name.
|
|
format: string
|
|
example: Currency name
|
|
code:
|
|
type: string
|
|
description: Currency code.
|
|
format: string
|
|
example: EUR
|
|
symbol:
|
|
type: string
|
|
format: string
|
|
example: $
|
|
decimal_places:
|
|
type: integer
|
|
format: int32
|
|
example: 2
|
|
example:
|
|
symbol: $
|
|
code: EUR
|
|
name: Currency name
|
|
id: "2"
|
|
decimal_places: 2
|
|
AutocompleteCurrencyCode:
|
|
required:
|
|
- code
|
|
- decimal_places
|
|
- id
|
|
- name
|
|
- symbol
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: string
|
|
example: "2"
|
|
name:
|
|
type: string
|
|
description: Currency name with the code between brackets.
|
|
format: string
|
|
example: Currency name (XCN)
|
|
code:
|
|
type: string
|
|
description: Currency code.
|
|
format: string
|
|
example: EUR
|
|
symbol:
|
|
type: string
|
|
format: string
|
|
example: $
|
|
decimal_places:
|
|
type: integer
|
|
format: int32
|
|
example: 2
|
|
example:
|
|
symbol: $
|
|
code: EUR
|
|
name: Currency name (XCN)
|
|
id: "2"
|
|
decimal_places: 2
|
|
AutocompleteObjectGroup:
|
|
required:
|
|
- id
|
|
- name
|
|
- title
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: string
|
|
example: "2"
|
|
title:
|
|
type: string
|
|
description: Title of the object group found by an auto-complete search.
|
|
format: string
|
|
example: Object Group one
|
|
name:
|
|
type: string
|
|
description: Title of the object group found by an auto-complete search.
|
|
format: string
|
|
example: Object Group one
|
|
example:
|
|
name: Object Group one
|
|
id: "2"
|
|
title: Object Group one
|
|
AutocompletePiggy:
|
|
required:
|
|
- id
|
|
- name
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: string
|
|
example: "2"
|
|
name:
|
|
type: string
|
|
description: Name of the piggy bank found by an auto-complete search.
|
|
format: string
|
|
example: New couch
|
|
currency_id:
|
|
type: string
|
|
description: Currency ID for this piggy bank.
|
|
format: string
|
|
example: "12"
|
|
currency_code:
|
|
type: string
|
|
description: Currency code for this piggy bank.
|
|
format: string
|
|
example: EUR
|
|
currency_symbol:
|
|
type: string
|
|
format: string
|
|
example: $
|
|
currency_name:
|
|
type: string
|
|
description: Currency name for the currency used by this account.
|
|
format: string
|
|
example: Euro
|
|
currency_decimal_places:
|
|
type: integer
|
|
format: int32
|
|
example: 2
|
|
object_group_id:
|
|
type: string
|
|
description: The group ID of the group this object is part of. NULL if no
|
|
group.
|
|
format: string
|
|
nullable: true
|
|
example: "5"
|
|
object_group_title:
|
|
type: string
|
|
description: The name of the group. NULL if no group.
|
|
format: string
|
|
nullable: true
|
|
example: Example Group
|
|
example:
|
|
currency_name: Euro
|
|
currency_symbol: $
|
|
object_group_id: "5"
|
|
name: New couch
|
|
id: "2"
|
|
currency_id: "12"
|
|
currency_code: EUR
|
|
currency_decimal_places: 2
|
|
object_group_title: Example Group
|
|
AutocompletePiggyBalance:
|
|
required:
|
|
- id
|
|
- name
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: string
|
|
example: "2"
|
|
name:
|
|
type: string
|
|
description: Name of the piggy bank found by an auto-complete search.
|
|
format: string
|
|
example: New couch
|
|
name_with_balance:
|
|
type: string
|
|
description: Name of the piggy bank found by an auto-complete search with
|
|
the current balance formatted nicely.
|
|
format: string
|
|
example: New couch ($ 12.34)
|
|
currency_id:
|
|
type: string
|
|
description: Currency ID for this piggy bank.
|
|
format: string
|
|
example: "12"
|
|
currency_code:
|
|
type: string
|
|
description: Currency code for this piggy bank.
|
|
format: string
|
|
example: EUR
|
|
currency_symbol:
|
|
type: string
|
|
format: string
|
|
example: $
|
|
currency_decimal_places:
|
|
type: integer
|
|
format: int32
|
|
example: 2
|
|
object_group_id:
|
|
type: string
|
|
description: The group ID of the group this object is part of. NULL if no
|
|
group.
|
|
format: string
|
|
nullable: true
|
|
example: "5"
|
|
object_group_title:
|
|
type: string
|
|
description: The name of the group. NULL if no group.
|
|
format: string
|
|
nullable: true
|
|
example: Example Group
|
|
example:
|
|
currency_symbol: $
|
|
object_group_id: "5"
|
|
name: New couch
|
|
id: "2"
|
|
name_with_balance: New couch ($ 12.34)
|
|
currency_id: "12"
|
|
currency_code: EUR
|
|
currency_decimal_places: 2
|
|
object_group_title: Example Group
|
|
AutocompleteRecurrence:
|
|
required:
|
|
- id
|
|
- name
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: string
|
|
example: "2"
|
|
name:
|
|
type: string
|
|
description: Name of the recurrence found by an auto-complete search.
|
|
format: string
|
|
example: Yearly bill
|
|
description:
|
|
type: string
|
|
description: Description of the recurrence found by auto-complete.
|
|
format: string
|
|
example: Should trigger daily.
|
|
example:
|
|
name: Yearly bill
|
|
description: Should trigger daily.
|
|
id: "2"
|
|
AutocompleteRule:
|
|
required:
|
|
- id
|
|
- name
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: string
|
|
example: "2"
|
|
name:
|
|
type: string
|
|
description: Name of the rule found by an auto-complete search.
|
|
format: string
|
|
example: Rule one
|
|
description:
|
|
type: string
|
|
description: Description of the rule found by auto-complete.
|
|
format: string
|
|
example: Useful rule.
|
|
example:
|
|
name: Rule one
|
|
description: Useful rule.
|
|
id: "2"
|
|
AutocompleteRuleGroup:
|
|
required:
|
|
- id
|
|
- name
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: string
|
|
example: "2"
|
|
name:
|
|
type: string
|
|
description: Name of the rule group found by an auto-complete search.
|
|
format: string
|
|
example: Rule group one
|
|
description:
|
|
type: string
|
|
description: Description of the rule group found by auto-complete.
|
|
format: string
|
|
example: Some rule group.
|
|
example:
|
|
name: Rule group one
|
|
description: Some rule group.
|
|
id: "2"
|
|
AutocompleteTag:
|
|
required:
|
|
- id
|
|
- name
|
|
- tag
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: string
|
|
example: "2"
|
|
name:
|
|
type: string
|
|
description: Name of the tag found by an auto-complete search.
|
|
format: string
|
|
example: too-expensive-tag-example
|
|
tag:
|
|
type: string
|
|
description: Name of the tag found by an auto-complete search.
|
|
format: string
|
|
example: too-expensive-tag-example
|
|
example:
|
|
name: too-expensive-tag-example
|
|
id: "2"
|
|
tag: too-expensive-tag-example
|
|
AutocompleteTransaction:
|
|
required:
|
|
- description
|
|
- id
|
|
- name
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: The ID of a transaction journal (basically a single split).
|
|
format: string
|
|
example: "2"
|
|
transaction_group_id:
|
|
type: string
|
|
description: The ID of the underlying transaction group.
|
|
format: string
|
|
example: "2"
|
|
name:
|
|
type: string
|
|
description: Transaction description
|
|
format: string
|
|
example: Transaction
|
|
description:
|
|
type: string
|
|
description: Transaction description
|
|
format: string
|
|
example: Transaction
|
|
example:
|
|
transaction_group_id: "2"
|
|
name: Transaction
|
|
description: Transaction
|
|
id: "2"
|
|
AutocompleteTransactionID:
|
|
required:
|
|
- description
|
|
- id
|
|
- name
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: The ID of a transaction journal (basically a single split).
|
|
format: string
|
|
example: "2"
|
|
transaction_group_id:
|
|
type: string
|
|
description: The ID of the underlying transaction group.
|
|
format: string
|
|
example: "2"
|
|
name:
|
|
type: string
|
|
description: Transaction description with ID in the name.
|
|
format: string
|
|
example: "#12: Transaction"
|
|
description:
|
|
type: string
|
|
description: Transaction description with ID in the name.
|
|
format: string
|
|
example: "#12: Transaction"
|
|
example:
|
|
transaction_group_id: "2"
|
|
name: "#12: Transaction"
|
|
description: "#12: Transaction"
|
|
id: "2"
|
|
AutocompleteTransactionType:
|
|
required:
|
|
- id
|
|
- name
|
|
- type
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: string
|
|
example: "2"
|
|
name:
|
|
type: string
|
|
description: Type of the object found by an auto-complete search.
|
|
format: string
|
|
example: Withdrawal
|
|
type:
|
|
type: string
|
|
description: Name of the object found by an auto-complete search.
|
|
format: string
|
|
example: Withdrawal
|
|
example:
|
|
name: Withdrawal
|
|
id: "2"
|
|
type: Withdrawal
|
|
ChartDataPoint:
|
|
type: object
|
|
properties:
|
|
key:
|
|
type: string
|
|
description: "The key is the label of the value, so for example: '2018-01-01'\
|
|
\ => 13 or 'Groceries' => -123."
|
|
format: string
|
|
example: value
|
|
example:
|
|
key: value
|
|
ChartDataSet:
|
|
type: object
|
|
properties:
|
|
label:
|
|
type: string
|
|
description: "This is the title of the current set. It can refer to an account,\
|
|
\ a budget or another object (by name)."
|
|
format: string
|
|
example: Checking account
|
|
currency_id:
|
|
type: string
|
|
description: The currency ID of the currency associated to the data in the
|
|
entries.
|
|
format: string
|
|
example: "5"
|
|
currency_code:
|
|
type: string
|
|
format: string
|
|
example: EUR
|
|
currency_symbol:
|
|
type: string
|
|
format: string
|
|
example: $
|
|
currency_decimal_places:
|
|
type: integer
|
|
description: Number of decimals for the currency associated to the data
|
|
in the entries.
|
|
format: int32
|
|
example: 2
|
|
start_date:
|
|
type: string
|
|
format: date-time
|
|
example: 2018-09-17T12:46:47+01:00
|
|
end_date:
|
|
type: string
|
|
format: date-time
|
|
example: 2018-09-17T12:46:47+01:00
|
|
type:
|
|
type: string
|
|
description: Indicated the type of chart that is expected to be rendered.
|
|
You can safely ignore this if you want.
|
|
format: string
|
|
example: line
|
|
yAxisID:
|
|
type: integer
|
|
description: Used to indicate the Y axis for this data set. Is usually between
|
|
0 and 1 (left and right side of the chart).
|
|
format: int32
|
|
example: 0
|
|
entries:
|
|
type: array
|
|
description: The actual entries for this data set. They 'key' value is the
|
|
label for the data point. The value is the actual (numerical) value.
|
|
items:
|
|
$ref: '#/components/schemas/ChartDataPoint'
|
|
example:
|
|
end_date: 2018-09-17T12:46:47+01:00
|
|
entries:
|
|
- key: value
|
|
- key: value
|
|
currency_symbol: $
|
|
label: Checking account
|
|
type: line
|
|
yAxisID: 0
|
|
currency_id: "5"
|
|
currency_code: EUR
|
|
currency_decimal_places: 2
|
|
start_date: 2018-09-17T12:46:47+01:00
|
|
ChartLine:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/ChartDataSet'
|
|
x-schema-name: ChartLine
|
|
DataDestroyObject:
|
|
type: string
|
|
enum:
|
|
- not_assets_liabilities
|
|
- budgets
|
|
- bills
|
|
- piggy_banks
|
|
- rules
|
|
- recurring
|
|
- categories
|
|
- tags
|
|
- object_groups
|
|
- accounts
|
|
- asset_accounts
|
|
- expense_accounts
|
|
- revenue_accounts
|
|
- liabilities
|
|
- transactions
|
|
- withdrawals
|
|
- deposits
|
|
- transfers
|
|
AccountSearchFieldFilter:
|
|
type: string
|
|
enum:
|
|
- all
|
|
- iban
|
|
- name
|
|
- number
|
|
- id
|
|
ConfigValueFilter:
|
|
type: string
|
|
description: Title of the configuration value.
|
|
example: configuration.is_demo_site
|
|
enum:
|
|
- configuration.is_demo_site
|
|
- configuration.permission_update_check
|
|
- configuration.last_update_check
|
|
- configuration.single_user_mode
|
|
- firefly.version
|
|
- firefly.api_version
|
|
- firefly.default_location
|
|
- firefly.account_to_transaction
|
|
- firefly.allowed_opposing_types
|
|
- firefly.accountRoles
|
|
- firefly.valid_liabilities
|
|
- firefly.interest_periods
|
|
- firefly.enable_external_map
|
|
- firefly.expected_source_types
|
|
- app.timezone
|
|
- firefly.bill_periods
|
|
- firefly.credit_card_types
|
|
- firefly.languages
|
|
- firefly.valid_view_ranges
|
|
ConfigValueUpdateFilter:
|
|
type: string
|
|
enum:
|
|
- configuration.is_demo_site
|
|
- configuration.permission_update_check
|
|
- configuration.last_update_check
|
|
- configuration.single_user_mode
|
|
ExportFileFilter:
|
|
type: string
|
|
enum:
|
|
- csv
|
|
InsightGroup:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/InsightGroupEntry'
|
|
x-schema-name: InsightGroup
|
|
InsightGroupEntry:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: This ID is a reference to the original object.
|
|
format: string
|
|
example: "123"
|
|
name:
|
|
type: string
|
|
description: This is the name of the object.
|
|
format: string
|
|
example: Land lord
|
|
difference:
|
|
type: string
|
|
description: "The amount spent or earned between start date and end date,\
|
|
\ a number defined as a string, for this object and all asset accounts."
|
|
format: string
|
|
example: "-123.45"
|
|
difference_float:
|
|
type: number
|
|
description: "The amount spent or earned between start date and end date,\
|
|
\ a number as a float, for this object and all asset accounts. May have\
|
|
\ rounding errors."
|
|
format: double
|
|
example: -123.45
|
|
currency_id:
|
|
type: string
|
|
description: The currency ID of the expenses listed for this account.
|
|
format: string
|
|
example: "5"
|
|
currency_code:
|
|
type: string
|
|
description: The currency code of the expenses listed for this account.
|
|
format: string
|
|
example: EUR
|
|
example:
|
|
name: Land lord
|
|
difference: "-123.45"
|
|
id: "123"
|
|
difference_float: -123.45
|
|
currency_id: "5"
|
|
currency_code: EUR
|
|
InsightTotal:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/InsightTotalEntry'
|
|
x-schema-name: InsightTotal
|
|
InsightTotalEntry:
|
|
type: object
|
|
properties:
|
|
difference:
|
|
type: string
|
|
description: "The amount spent between start date and end date, defined\
|
|
\ as a string, for this expense account and all asset accounts."
|
|
format: string
|
|
example: "123.45"
|
|
difference_float:
|
|
type: number
|
|
description: "The amount spent between start date and end date, defined\
|
|
\ as a string, for this expense account and all asset accounts. This number\
|
|
\ is a float (double) and may have rounding errors."
|
|
format: double
|
|
example: 123.45
|
|
currency_id:
|
|
type: string
|
|
description: The currency ID of the expenses listed for this expense account.
|
|
format: string
|
|
example: "5"
|
|
currency_code:
|
|
type: string
|
|
description: The currency code of the expenses listed for this expense account.
|
|
format: string
|
|
example: EUR
|
|
example:
|
|
difference: "123.45"
|
|
difference_float: 123.45
|
|
currency_id: "5"
|
|
currency_code: EUR
|
|
InsightTransfer:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/InsightTransferEntry'
|
|
x-schema-name: InsightTransfer
|
|
InsightTransferEntry:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: This ID is a reference to the original object.
|
|
format: string
|
|
example: "123"
|
|
name:
|
|
type: string
|
|
description: This is the name of the object.
|
|
format: string
|
|
example: Land lord
|
|
difference:
|
|
type: string
|
|
description: "The total amount transferred between start date and end date,\
|
|
\ a number defined as a string, for this asset account."
|
|
format: string
|
|
example: "-123.45"
|
|
difference_float:
|
|
type: number
|
|
description: "The total amount transferred between start date and end date,\
|
|
\ a number as a float, for this asset account. May have rounding errors."
|
|
format: double
|
|
example: -123.45
|
|
in:
|
|
type: string
|
|
description: "The total amount transferred TO this account between start\
|
|
\ date and end date, a number defined as a string, for this asset account."
|
|
format: string
|
|
example: "123.45"
|
|
in_float:
|
|
type: number
|
|
description: "The total amount transferred FROM this account between start\
|
|
\ date and end date, a number as a float, for this asset account. May\
|
|
\ have rounding errors."
|
|
format: double
|
|
example: 123.45
|
|
out:
|
|
type: string
|
|
description: "The total amount transferred FROM this account between start\
|
|
\ date and end date, a number defined as a string, for this asset account."
|
|
format: string
|
|
example: "123.45"
|
|
out_float:
|
|
type: number
|
|
description: "The total amount transferred TO this account between start\
|
|
\ date and end date, a number as a float, for this asset account. May\
|
|
\ have rounding errors."
|
|
format: double
|
|
example: 123.45
|
|
currency_id:
|
|
type: string
|
|
description: The currency ID of the expenses listed for this account.
|
|
format: string
|
|
example: "5"
|
|
currency_code:
|
|
type: string
|
|
description: The currency code of the expenses listed for this account.
|
|
format: string
|
|
example: EUR
|
|
example:
|
|
in: "123.45"
|
|
in_float: 123.45
|
|
name: Land lord
|
|
difference: "-123.45"
|
|
id: "123"
|
|
difference_float: -123.45
|
|
out_float: 123.45
|
|
currency_id: "5"
|
|
currency_code: EUR
|
|
out: "123.45"
|
|
AccountRead:
|
|
required:
|
|
- attributes
|
|
- id
|
|
- type
|
|
type: object
|
|
properties:
|
|
type:
|
|
type: string
|
|
description: Immutable value
|
|
format: string
|
|
example: accounts
|
|
id:
|
|
type: string
|
|
format: string
|
|
example: "2"
|
|
attributes:
|
|
$ref: '#/components/schemas/Account'
|
|
example:
|
|
attributes:
|
|
account_number: "7009312345678"
|
|
notes: Some example notes
|
|
account_role: defaultAsset
|
|
latitude: 51.983333
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
zoom_level: 6
|
|
type: asset
|
|
currency_code: EUR
|
|
currency_decimal_places: 2
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
current_balance_date: 2018-09-17T12:46:47+01:00
|
|
interest: "5.3"
|
|
current_balance: "123.45"
|
|
opening_balance: "-1012.12"
|
|
interest_period: monthly
|
|
order: 1
|
|
current_debt: "1012.12"
|
|
longitude: 5.916667
|
|
include_net_worth: true
|
|
opening_balance_date: 2018-09-17T12:46:47+01:00
|
|
currency_symbol: $
|
|
active: false
|
|
monthly_payment_date: 2018-09-17T12:46:47+01:00
|
|
virtual_balance: "123.45"
|
|
liability_type: loan
|
|
credit_card_type: monthlyFull
|
|
iban: GB98MIDL07009312345678
|
|
name: My checking account
|
|
bic: BOFAUS3N
|
|
liability_direction: credit
|
|
currency_id: "12"
|
|
id: "2"
|
|
type: accounts
|
|
AccountSingle:
|
|
required:
|
|
- data
|
|
type: object
|
|
properties:
|
|
data:
|
|
$ref: '#/components/schemas/AccountRead'
|
|
example:
|
|
data:
|
|
attributes:
|
|
account_number: "7009312345678"
|
|
notes: Some example notes
|
|
account_role: defaultAsset
|
|
latitude: 51.983333
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
zoom_level: 6
|
|
type: asset
|
|
currency_code: EUR
|
|
currency_decimal_places: 2
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
current_balance_date: 2018-09-17T12:46:47+01:00
|
|
interest: "5.3"
|
|
current_balance: "123.45"
|
|
opening_balance: "-1012.12"
|
|
interest_period: monthly
|
|
order: 1
|
|
current_debt: "1012.12"
|
|
longitude: 5.916667
|
|
include_net_worth: true
|
|
opening_balance_date: 2018-09-17T12:46:47+01:00
|
|
currency_symbol: $
|
|
active: false
|
|
monthly_payment_date: 2018-09-17T12:46:47+01:00
|
|
virtual_balance: "123.45"
|
|
liability_type: loan
|
|
credit_card_type: monthlyFull
|
|
iban: GB98MIDL07009312345678
|
|
name: My checking account
|
|
bic: BOFAUS3N
|
|
liability_direction: credit
|
|
currency_id: "12"
|
|
id: "2"
|
|
type: accounts
|
|
AttachmentRead:
|
|
required:
|
|
- attributes
|
|
- id
|
|
- links
|
|
- type
|
|
type: object
|
|
properties:
|
|
type:
|
|
type: string
|
|
description: Immutable value
|
|
format: string
|
|
example: attachments
|
|
id:
|
|
type: string
|
|
format: string
|
|
example: "2"
|
|
attributes:
|
|
$ref: '#/components/schemas/Attachment'
|
|
links:
|
|
$ref: '#/components/schemas/ObjectLink'
|
|
example:
|
|
attributes:
|
|
filename: file.pdf
|
|
notes: Some notes
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
size: 48211
|
|
mime: application/pdf
|
|
attachable_id: "134"
|
|
download_url: https://demo.firefly-iii.org/api/v1/attachments/191/download
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
upload_url: https://demo.firefly-iii.org/api/v1/attachments/191/download
|
|
title: Some PDF file
|
|
attachable_type: Bill
|
|
md5: 0c3f95f34370baa88f9fd9a671fea305
|
|
links:
|
|
"0":
|
|
rel: self
|
|
uri: /OBJECTS/1
|
|
self: https://demo.firefly-iii.org/api/v1/OBJECTS/1
|
|
id: "2"
|
|
type: attachments
|
|
AttachmentSingle:
|
|
required:
|
|
- data
|
|
type: object
|
|
properties:
|
|
data:
|
|
$ref: '#/components/schemas/AttachmentRead'
|
|
example:
|
|
data:
|
|
attributes:
|
|
filename: file.pdf
|
|
notes: Some notes
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
size: 48211
|
|
mime: application/pdf
|
|
attachable_id: "134"
|
|
download_url: https://demo.firefly-iii.org/api/v1/attachments/191/download
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
upload_url: https://demo.firefly-iii.org/api/v1/attachments/191/download
|
|
title: Some PDF file
|
|
attachable_type: Bill
|
|
md5: 0c3f95f34370baa88f9fd9a671fea305
|
|
links:
|
|
"0":
|
|
rel: self
|
|
uri: /OBJECTS/1
|
|
self: https://demo.firefly-iii.org/api/v1/OBJECTS/1
|
|
id: "2"
|
|
type: attachments
|
|
AvailableBudgetRead:
|
|
required:
|
|
- attributes
|
|
- id
|
|
- type
|
|
type: object
|
|
properties:
|
|
type:
|
|
type: string
|
|
description: Immutable value
|
|
format: string
|
|
example: available_budgets
|
|
id:
|
|
type: string
|
|
format: string
|
|
example: "2"
|
|
attributes:
|
|
$ref: '#/components/schemas/AvailableBudget'
|
|
example:
|
|
attributes:
|
|
amount: "123.45"
|
|
spent_outside_budget:
|
|
- null
|
|
- null
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
spent_in_budgets:
|
|
- currency_symbol: $
|
|
sum: "123.45"
|
|
currency_id: "5"
|
|
currency_code: USD
|
|
currency_decimal_places: 2
|
|
- currency_symbol: $
|
|
sum: "123.45"
|
|
currency_id: "5"
|
|
currency_code: USD
|
|
currency_decimal_places: 2
|
|
currency_symbol: $
|
|
start: 2018-09-17T12:46:47+01:00
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
end: 2018-09-17T12:46:47+01:00
|
|
currency_id: "5"
|
|
currency_code: EUR
|
|
currency_decimal_places: 2
|
|
id: "2"
|
|
type: available_budgets
|
|
AvailableBudgetSingle:
|
|
required:
|
|
- data
|
|
type: object
|
|
properties:
|
|
data:
|
|
$ref: '#/components/schemas/AvailableBudgetRead'
|
|
example:
|
|
data:
|
|
attributes:
|
|
amount: "123.45"
|
|
spent_outside_budget:
|
|
- null
|
|
- null
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
spent_in_budgets:
|
|
- currency_symbol: $
|
|
sum: "123.45"
|
|
currency_id: "5"
|
|
currency_code: USD
|
|
currency_decimal_places: 2
|
|
- currency_symbol: $
|
|
sum: "123.45"
|
|
currency_id: "5"
|
|
currency_code: USD
|
|
currency_decimal_places: 2
|
|
currency_symbol: $
|
|
start: 2018-09-17T12:46:47+01:00
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
end: 2018-09-17T12:46:47+01:00
|
|
currency_id: "5"
|
|
currency_code: EUR
|
|
currency_decimal_places: 2
|
|
id: "2"
|
|
type: available_budgets
|
|
BillRead:
|
|
required:
|
|
- attributes
|
|
- id
|
|
- type
|
|
type: object
|
|
properties:
|
|
type:
|
|
type: string
|
|
description: Immutable value
|
|
format: string
|
|
example: bills
|
|
id:
|
|
type: string
|
|
format: string
|
|
example: "2"
|
|
attributes:
|
|
$ref: '#/components/schemas/Bill'
|
|
example:
|
|
attributes:
|
|
date: 2018-09-17T12:46:47+01:00
|
|
end_date: 2018-09-17T12:46:47+01:00
|
|
notes: Some example notes
|
|
currency_symbol: $
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
active: true
|
|
amount_max: "123.45"
|
|
skip: 0
|
|
next_expected_match: 2018-09-17T12:46:47+01:00
|
|
object_group_order: 5
|
|
next_expected_match_diff: today
|
|
repeat_freq: monthly
|
|
currency_code: EUR
|
|
currency_decimal_places: 2
|
|
extension_date: 2018-09-17T12:46:47+01:00
|
|
pay_dates:
|
|
- 2018-09-17T12:46:47+01:00
|
|
- 2018-09-17T12:46:47+01:00
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
object_group_id: "5"
|
|
paid_dates:
|
|
- date: 2018-09-17T12:46:47+01:00
|
|
transaction_group_id: "123"
|
|
transaction_journal_id: "123"
|
|
- date: 2018-09-17T12:46:47+01:00
|
|
transaction_group_id: "123"
|
|
transaction_journal_id: "123"
|
|
name: Rent
|
|
amount_min: "123.45"
|
|
currency_id: "5"
|
|
order: 1
|
|
object_group_title: Example Group
|
|
id: "2"
|
|
type: bills
|
|
BillSingle:
|
|
required:
|
|
- data
|
|
type: object
|
|
properties:
|
|
data:
|
|
$ref: '#/components/schemas/BillRead'
|
|
example:
|
|
data:
|
|
attributes:
|
|
date: 2018-09-17T12:46:47+01:00
|
|
end_date: 2018-09-17T12:46:47+01:00
|
|
notes: Some example notes
|
|
currency_symbol: $
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
active: true
|
|
amount_max: "123.45"
|
|
skip: 0
|
|
next_expected_match: 2018-09-17T12:46:47+01:00
|
|
object_group_order: 5
|
|
next_expected_match_diff: today
|
|
repeat_freq: monthly
|
|
currency_code: EUR
|
|
currency_decimal_places: 2
|
|
extension_date: 2018-09-17T12:46:47+01:00
|
|
pay_dates:
|
|
- 2018-09-17T12:46:47+01:00
|
|
- 2018-09-17T12:46:47+01:00
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
object_group_id: "5"
|
|
paid_dates:
|
|
- date: 2018-09-17T12:46:47+01:00
|
|
transaction_group_id: "123"
|
|
transaction_journal_id: "123"
|
|
- date: 2018-09-17T12:46:47+01:00
|
|
transaction_group_id: "123"
|
|
transaction_journal_id: "123"
|
|
name: Rent
|
|
amount_min: "123.45"
|
|
currency_id: "5"
|
|
order: 1
|
|
object_group_title: Example Group
|
|
id: "2"
|
|
type: bills
|
|
BudgetLimitRead:
|
|
required:
|
|
- attributes
|
|
- id
|
|
- type
|
|
type: object
|
|
properties:
|
|
type:
|
|
type: string
|
|
description: Immutable value
|
|
format: string
|
|
example: budget_limits
|
|
id:
|
|
type: string
|
|
format: string
|
|
example: "2"
|
|
attributes:
|
|
$ref: '#/components/schemas/BudgetLimit'
|
|
example:
|
|
attributes:
|
|
period: monthly
|
|
amount: "123.45"
|
|
currency_name: Euro
|
|
currency_symbol: $
|
|
budget_id: "23"
|
|
spent: "-1012.12"
|
|
start: 2018-09-17T12:46:47+01:00
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
currency_code: EUR
|
|
currency_decimal_places: 2
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
end: 2018-09-17T12:46:47+01:00
|
|
currency_id: "5"
|
|
id: "2"
|
|
type: budget_limits
|
|
BudgetLimitSingle:
|
|
required:
|
|
- data
|
|
type: object
|
|
properties:
|
|
data:
|
|
$ref: '#/components/schemas/BudgetLimitRead'
|
|
example:
|
|
data:
|
|
attributes:
|
|
period: monthly
|
|
amount: "123.45"
|
|
currency_name: Euro
|
|
currency_symbol: $
|
|
budget_id: "23"
|
|
spent: "-1012.12"
|
|
start: 2018-09-17T12:46:47+01:00
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
currency_code: EUR
|
|
currency_decimal_places: 2
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
end: 2018-09-17T12:46:47+01:00
|
|
currency_id: "5"
|
|
id: "2"
|
|
type: budget_limits
|
|
BudgetRead:
|
|
required:
|
|
- attributes
|
|
- id
|
|
- type
|
|
type: object
|
|
properties:
|
|
type:
|
|
type: string
|
|
description: Immutable value
|
|
format: string
|
|
example: budgets
|
|
id:
|
|
type: string
|
|
format: string
|
|
example: "2"
|
|
attributes:
|
|
$ref: '#/components/schemas/Budget'
|
|
example:
|
|
attributes:
|
|
auto_budget_currency_id: "12"
|
|
auto_budget_amount: "-1012.12"
|
|
auto_budget_period: monthly
|
|
notes: Some notes
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
auto_budget_type: reset
|
|
spent:
|
|
- currency_symbol: $
|
|
sum: "123.45"
|
|
currency_id: "5"
|
|
currency_code: USD
|
|
currency_decimal_places: 2
|
|
- currency_symbol: $
|
|
sum: "123.45"
|
|
currency_id: "5"
|
|
currency_code: USD
|
|
currency_decimal_places: 2
|
|
name: Bills
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
active: false
|
|
auto_budget_currency_code: EUR
|
|
order: 5
|
|
id: "2"
|
|
type: budgets
|
|
BudgetSingle:
|
|
required:
|
|
- data
|
|
type: object
|
|
properties:
|
|
data:
|
|
$ref: '#/components/schemas/BudgetRead'
|
|
example:
|
|
data:
|
|
attributes:
|
|
auto_budget_currency_id: "12"
|
|
auto_budget_amount: "-1012.12"
|
|
auto_budget_period: monthly
|
|
notes: Some notes
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
auto_budget_type: reset
|
|
spent:
|
|
- currency_symbol: $
|
|
sum: "123.45"
|
|
currency_id: "5"
|
|
currency_code: USD
|
|
currency_decimal_places: 2
|
|
- currency_symbol: $
|
|
sum: "123.45"
|
|
currency_id: "5"
|
|
currency_code: USD
|
|
currency_decimal_places: 2
|
|
name: Bills
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
active: false
|
|
auto_budget_currency_code: EUR
|
|
order: 5
|
|
id: "2"
|
|
type: budgets
|
|
CategoryRead:
|
|
required:
|
|
- attributes
|
|
- id
|
|
- type
|
|
type: object
|
|
properties:
|
|
type:
|
|
type: string
|
|
description: Immutable value
|
|
format: string
|
|
example: categories
|
|
id:
|
|
type: string
|
|
format: string
|
|
example: "2"
|
|
attributes:
|
|
$ref: '#/components/schemas/Category'
|
|
example:
|
|
attributes:
|
|
earned:
|
|
- currency_symbol: $
|
|
sum: "123.45"
|
|
currency_id: "5"
|
|
currency_code: USD
|
|
currency_decimal_places: 2
|
|
- currency_symbol: $
|
|
sum: "123.45"
|
|
currency_id: "5"
|
|
currency_code: USD
|
|
currency_decimal_places: 2
|
|
notes: Some example notes
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
spent:
|
|
- currency_symbol: $
|
|
sum: "-12423.45"
|
|
currency_id: "5"
|
|
currency_code: USD
|
|
currency_decimal_places: 2
|
|
- currency_symbol: $
|
|
sum: "-12423.45"
|
|
currency_id: "5"
|
|
currency_code: USD
|
|
currency_decimal_places: 2
|
|
name: Lunch
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
id: "2"
|
|
type: categories
|
|
CategorySingle:
|
|
required:
|
|
- data
|
|
type: object
|
|
properties:
|
|
data:
|
|
$ref: '#/components/schemas/CategoryRead'
|
|
example:
|
|
data:
|
|
attributes:
|
|
earned:
|
|
- currency_symbol: $
|
|
sum: "123.45"
|
|
currency_id: "5"
|
|
currency_code: USD
|
|
currency_decimal_places: 2
|
|
- currency_symbol: $
|
|
sum: "123.45"
|
|
currency_id: "5"
|
|
currency_code: USD
|
|
currency_decimal_places: 2
|
|
notes: Some example notes
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
spent:
|
|
- currency_symbol: $
|
|
sum: "-12423.45"
|
|
currency_id: "5"
|
|
currency_code: USD
|
|
currency_decimal_places: 2
|
|
- currency_symbol: $
|
|
sum: "-12423.45"
|
|
currency_id: "5"
|
|
currency_code: USD
|
|
currency_decimal_places: 2
|
|
name: Lunch
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
id: "2"
|
|
type: categories
|
|
ConfigurationSingle:
|
|
required:
|
|
- data
|
|
type: object
|
|
properties:
|
|
data:
|
|
$ref: '#/components/schemas/Configuration'
|
|
example:
|
|
data:
|
|
editable: true
|
|
title: configuration.is_demo_site
|
|
value: ""
|
|
CurrencyRead:
|
|
required:
|
|
- attributes
|
|
- id
|
|
- type
|
|
type: object
|
|
properties:
|
|
type:
|
|
type: string
|
|
description: Immutable value
|
|
format: string
|
|
example: currencies
|
|
id:
|
|
type: string
|
|
format: string
|
|
example: "2"
|
|
attributes:
|
|
$ref: '#/components/schemas/Currency'
|
|
example:
|
|
attributes:
|
|
symbol: AM$
|
|
default: false
|
|
code: AMS
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
name: Ankh-Morpork dollar
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
enabled: true
|
|
decimal_places: 2
|
|
id: "2"
|
|
type: currencies
|
|
CurrencySingle:
|
|
required:
|
|
- data
|
|
type: object
|
|
properties:
|
|
data:
|
|
$ref: '#/components/schemas/CurrencyRead'
|
|
example:
|
|
data:
|
|
attributes:
|
|
symbol: AM$
|
|
default: false
|
|
code: AMS
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
name: Ankh-Morpork dollar
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
enabled: true
|
|
decimal_places: 2
|
|
id: "2"
|
|
type: currencies
|
|
LinkTypeRead:
|
|
required:
|
|
- attributes
|
|
- id
|
|
- links
|
|
- type
|
|
type: object
|
|
properties:
|
|
type:
|
|
type: string
|
|
description: Immutable value
|
|
format: string
|
|
example: link_types
|
|
id:
|
|
type: string
|
|
format: string
|
|
example: "2"
|
|
attributes:
|
|
$ref: '#/components/schemas/LinkType'
|
|
links:
|
|
$ref: '#/components/schemas/ObjectLink'
|
|
example:
|
|
attributes:
|
|
inward: is (partially) paid for by
|
|
editable: false
|
|
name: Paid
|
|
outward: (partially) pays for
|
|
links:
|
|
"0":
|
|
rel: self
|
|
uri: /OBJECTS/1
|
|
self: https://demo.firefly-iii.org/api/v1/OBJECTS/1
|
|
id: "2"
|
|
type: link_types
|
|
LinkTypeSingle:
|
|
required:
|
|
- data
|
|
type: object
|
|
properties:
|
|
data:
|
|
$ref: '#/components/schemas/LinkTypeRead'
|
|
example:
|
|
data:
|
|
attributes:
|
|
inward: is (partially) paid for by
|
|
editable: false
|
|
name: Paid
|
|
outward: (partially) pays for
|
|
links:
|
|
"0":
|
|
rel: self
|
|
uri: /OBJECTS/1
|
|
self: https://demo.firefly-iii.org/api/v1/OBJECTS/1
|
|
id: "2"
|
|
type: link_types
|
|
ObjectGroupRead:
|
|
required:
|
|
- attributes
|
|
- id
|
|
- type
|
|
type: object
|
|
properties:
|
|
type:
|
|
type: string
|
|
description: Immutable value
|
|
format: string
|
|
example: object_groups
|
|
id:
|
|
type: string
|
|
format: string
|
|
example: "2"
|
|
attributes:
|
|
$ref: '#/components/schemas/ObjectGroup'
|
|
example:
|
|
attributes:
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
title: My object group
|
|
order: 1
|
|
id: "2"
|
|
type: object_groups
|
|
ObjectGroupSingle:
|
|
required:
|
|
- data
|
|
type: object
|
|
properties:
|
|
data:
|
|
$ref: '#/components/schemas/ObjectGroupRead'
|
|
example:
|
|
data:
|
|
attributes:
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
title: My object group
|
|
order: 1
|
|
id: "2"
|
|
type: object_groups
|
|
PiggyBankEventRead:
|
|
required:
|
|
- attributes
|
|
- id
|
|
- links
|
|
- type
|
|
type: object
|
|
properties:
|
|
type:
|
|
type: string
|
|
description: Immutable value
|
|
format: string
|
|
example: piggy_bank_events
|
|
id:
|
|
type: string
|
|
format: string
|
|
example: "2"
|
|
attributes:
|
|
$ref: '#/components/schemas/PiggyBankEvent'
|
|
links:
|
|
$ref: '#/components/schemas/ObjectLink'
|
|
example:
|
|
attributes:
|
|
amount: "123.45"
|
|
transaction_journal_id: "4291"
|
|
transaction_group_id: "4291"
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
currency_symbol: $
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
currency_id: "5"
|
|
currency_code: EUR
|
|
currency_decimal_places: 2
|
|
links:
|
|
"0":
|
|
rel: self
|
|
uri: /OBJECTS/1
|
|
self: https://demo.firefly-iii.org/api/v1/OBJECTS/1
|
|
id: "2"
|
|
type: piggy_bank_events
|
|
PiggyBankRead:
|
|
required:
|
|
- attributes
|
|
- id
|
|
- links
|
|
- type
|
|
type: object
|
|
properties:
|
|
type:
|
|
type: string
|
|
description: Immutable value
|
|
format: string
|
|
example: piggy_banks
|
|
id:
|
|
type: string
|
|
format: string
|
|
example: "2"
|
|
attributes:
|
|
$ref: '#/components/schemas/PiggyBank'
|
|
links:
|
|
$ref: '#/components/schemas/ObjectLink'
|
|
example:
|
|
attributes:
|
|
target_amount: "123.45"
|
|
notes: Some notes
|
|
target_date: 2018-09-17T00:00:00.000+00:00
|
|
currency_symbol: $
|
|
left_to_save: "700.00"
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
active: true
|
|
object_group_order: 5
|
|
currency_code: USD
|
|
currency_decimal_places: 2
|
|
current_amount: "123.45"
|
|
account_id: "13"
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
object_group_id: "5"
|
|
account_name: Savings account
|
|
percentage: 12.5
|
|
name: New digital camera
|
|
currency_id: "5"
|
|
save_per_month: "12.45"
|
|
start_date: 2018-09-17T00:00:00.000+00:00
|
|
order: 5
|
|
object_group_title: Example Group
|
|
links:
|
|
"0":
|
|
rel: self
|
|
uri: /OBJECTS/1
|
|
self: https://demo.firefly-iii.org/api/v1/OBJECTS/1
|
|
id: "2"
|
|
type: piggy_banks
|
|
PiggyBankSingle:
|
|
required:
|
|
- data
|
|
type: object
|
|
properties:
|
|
data:
|
|
$ref: '#/components/schemas/PiggyBankRead'
|
|
example:
|
|
data:
|
|
attributes:
|
|
target_amount: "123.45"
|
|
notes: Some notes
|
|
target_date: 2018-09-17T00:00:00.000+00:00
|
|
currency_symbol: $
|
|
left_to_save: "700.00"
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
active: true
|
|
object_group_order: 5
|
|
currency_code: USD
|
|
currency_decimal_places: 2
|
|
current_amount: "123.45"
|
|
account_id: "13"
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
object_group_id: "5"
|
|
account_name: Savings account
|
|
percentage: 12.5
|
|
name: New digital camera
|
|
currency_id: "5"
|
|
save_per_month: "12.45"
|
|
start_date: 2018-09-17T00:00:00.000+00:00
|
|
order: 5
|
|
object_group_title: Example Group
|
|
links:
|
|
"0":
|
|
rel: self
|
|
uri: /OBJECTS/1
|
|
self: https://demo.firefly-iii.org/api/v1/OBJECTS/1
|
|
id: "2"
|
|
type: piggy_banks
|
|
PreferenceRead:
|
|
required:
|
|
- attributes
|
|
- id
|
|
- type
|
|
type: object
|
|
properties:
|
|
type:
|
|
type: string
|
|
description: Immutable value
|
|
format: string
|
|
example: preferences
|
|
id:
|
|
type: string
|
|
format: string
|
|
example: "2"
|
|
attributes:
|
|
$ref: '#/components/schemas/Preference'
|
|
example:
|
|
attributes:
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
data: ""
|
|
name: currencyPreference
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
id: "2"
|
|
type: preferences
|
|
PreferenceSingle:
|
|
required:
|
|
- data
|
|
type: object
|
|
properties:
|
|
data:
|
|
$ref: '#/components/schemas/PreferenceRead'
|
|
example:
|
|
data:
|
|
attributes:
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
data: ""
|
|
name: currencyPreference
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
id: "2"
|
|
type: preferences
|
|
RecurrenceRead:
|
|
required:
|
|
- attributes
|
|
- id
|
|
- links
|
|
- type
|
|
type: object
|
|
properties:
|
|
type:
|
|
type: string
|
|
description: Immutable value
|
|
format: string
|
|
example: recurrences
|
|
id:
|
|
type: string
|
|
format: string
|
|
example: "2"
|
|
attributes:
|
|
$ref: '#/components/schemas/Recurrence'
|
|
links:
|
|
$ref: '#/components/schemas/ObjectLink'
|
|
example:
|
|
attributes:
|
|
apply_rules: true
|
|
nr_of_repetitions: 5
|
|
notes: Some notes
|
|
repeat_until: 2018-09-17T00:00:00.000+00:00
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
description: Recurring transaction for the monthly rent
|
|
active: true
|
|
type: withdrawal
|
|
title: Rent
|
|
transactions:
|
|
- category_name: Bills
|
|
destination_iban: NL02ABNA0123456789
|
|
source_iban: NL02ABNA0123456789
|
|
budget_id: "4"
|
|
destination_id: "258"
|
|
description: Rent for the current month
|
|
destination_name: Buy and Large
|
|
currency_code: EUR
|
|
currency_decimal_places: 2
|
|
destination_type: null
|
|
category_id: "211"
|
|
foreign_currency_symbol: $
|
|
piggy_bank_name: piggy_bank_name
|
|
id: ID of the recurring transaction. Not to be confused with the ID of
|
|
the recurrence itself.
|
|
foreign_currency_id: "17"
|
|
source_name: Checking account
|
|
bill_id: "123"
|
|
amount: "123.45"
|
|
budget_name: Groceries
|
|
foreign_currency_code: GBP
|
|
currency_symbol: €
|
|
source_type: Asset account
|
|
foreign_currency_decimal_places: 2
|
|
bill_name: bill_name
|
|
piggy_bank_id: "123"
|
|
tags:
|
|
- Barbecue preparation
|
|
- Barbecue preparation
|
|
foreign_amount: "123.45"
|
|
source_id: "913"
|
|
currency_id: "3"
|
|
- category_name: Bills
|
|
destination_iban: NL02ABNA0123456789
|
|
source_iban: NL02ABNA0123456789
|
|
budget_id: "4"
|
|
destination_id: "258"
|
|
description: Rent for the current month
|
|
destination_name: Buy and Large
|
|
currency_code: EUR
|
|
currency_decimal_places: 2
|
|
destination_type: null
|
|
category_id: "211"
|
|
foreign_currency_symbol: $
|
|
piggy_bank_name: piggy_bank_name
|
|
id: ID of the recurring transaction. Not to be confused with the ID of
|
|
the recurrence itself.
|
|
foreign_currency_id: "17"
|
|
source_name: Checking account
|
|
bill_id: "123"
|
|
amount: "123.45"
|
|
budget_name: Groceries
|
|
foreign_currency_code: GBP
|
|
currency_symbol: €
|
|
source_type: Asset account
|
|
foreign_currency_decimal_places: 2
|
|
bill_name: bill_name
|
|
piggy_bank_id: "123"
|
|
tags:
|
|
- Barbecue preparation
|
|
- Barbecue preparation
|
|
foreign_amount: "123.45"
|
|
source_id: "913"
|
|
currency_id: "3"
|
|
repetitions:
|
|
- occurrences:
|
|
- 2018-09-17T12:46:47+01:00
|
|
- 2018-09-17T12:46:47+01:00
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
weekend: 1
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
description: Every week on Friday
|
|
skip: 0
|
|
id: "2"
|
|
type: weekly
|
|
moment: "3"
|
|
- occurrences:
|
|
- 2018-09-17T12:46:47+01:00
|
|
- 2018-09-17T12:46:47+01:00
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
weekend: 1
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
description: Every week on Friday
|
|
skip: 0
|
|
id: "2"
|
|
type: weekly
|
|
moment: "3"
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
latest_date: 2018-09-17T00:00:00.000+00:00
|
|
first_date: 2018-09-17T00:00:00.000+00:00
|
|
links:
|
|
"0":
|
|
rel: self
|
|
uri: /OBJECTS/1
|
|
self: https://demo.firefly-iii.org/api/v1/OBJECTS/1
|
|
id: "2"
|
|
type: recurrences
|
|
RecurrenceSingle:
|
|
required:
|
|
- data
|
|
type: object
|
|
properties:
|
|
data:
|
|
$ref: '#/components/schemas/RecurrenceRead'
|
|
example:
|
|
data:
|
|
attributes:
|
|
apply_rules: true
|
|
nr_of_repetitions: 5
|
|
notes: Some notes
|
|
repeat_until: 2018-09-17T00:00:00.000+00:00
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
description: Recurring transaction for the monthly rent
|
|
active: true
|
|
type: withdrawal
|
|
title: Rent
|
|
transactions:
|
|
- category_name: Bills
|
|
destination_iban: NL02ABNA0123456789
|
|
source_iban: NL02ABNA0123456789
|
|
budget_id: "4"
|
|
destination_id: "258"
|
|
description: Rent for the current month
|
|
destination_name: Buy and Large
|
|
currency_code: EUR
|
|
currency_decimal_places: 2
|
|
destination_type: null
|
|
category_id: "211"
|
|
foreign_currency_symbol: $
|
|
piggy_bank_name: piggy_bank_name
|
|
id: ID of the recurring transaction. Not to be confused with the ID
|
|
of the recurrence itself.
|
|
foreign_currency_id: "17"
|
|
source_name: Checking account
|
|
bill_id: "123"
|
|
amount: "123.45"
|
|
budget_name: Groceries
|
|
foreign_currency_code: GBP
|
|
currency_symbol: €
|
|
source_type: Asset account
|
|
foreign_currency_decimal_places: 2
|
|
bill_name: bill_name
|
|
piggy_bank_id: "123"
|
|
tags:
|
|
- Barbecue preparation
|
|
- Barbecue preparation
|
|
foreign_amount: "123.45"
|
|
source_id: "913"
|
|
currency_id: "3"
|
|
- category_name: Bills
|
|
destination_iban: NL02ABNA0123456789
|
|
source_iban: NL02ABNA0123456789
|
|
budget_id: "4"
|
|
destination_id: "258"
|
|
description: Rent for the current month
|
|
destination_name: Buy and Large
|
|
currency_code: EUR
|
|
currency_decimal_places: 2
|
|
destination_type: null
|
|
category_id: "211"
|
|
foreign_currency_symbol: $
|
|
piggy_bank_name: piggy_bank_name
|
|
id: ID of the recurring transaction. Not to be confused with the ID
|
|
of the recurrence itself.
|
|
foreign_currency_id: "17"
|
|
source_name: Checking account
|
|
bill_id: "123"
|
|
amount: "123.45"
|
|
budget_name: Groceries
|
|
foreign_currency_code: GBP
|
|
currency_symbol: €
|
|
source_type: Asset account
|
|
foreign_currency_decimal_places: 2
|
|
bill_name: bill_name
|
|
piggy_bank_id: "123"
|
|
tags:
|
|
- Barbecue preparation
|
|
- Barbecue preparation
|
|
foreign_amount: "123.45"
|
|
source_id: "913"
|
|
currency_id: "3"
|
|
repetitions:
|
|
- occurrences:
|
|
- 2018-09-17T12:46:47+01:00
|
|
- 2018-09-17T12:46:47+01:00
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
weekend: 1
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
description: Every week on Friday
|
|
skip: 0
|
|
id: "2"
|
|
type: weekly
|
|
moment: "3"
|
|
- occurrences:
|
|
- 2018-09-17T12:46:47+01:00
|
|
- 2018-09-17T12:46:47+01:00
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
weekend: 1
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
description: Every week on Friday
|
|
skip: 0
|
|
id: "2"
|
|
type: weekly
|
|
moment: "3"
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
latest_date: 2018-09-17T00:00:00.000+00:00
|
|
first_date: 2018-09-17T00:00:00.000+00:00
|
|
links:
|
|
"0":
|
|
rel: self
|
|
uri: /OBJECTS/1
|
|
self: https://demo.firefly-iii.org/api/v1/OBJECTS/1
|
|
id: "2"
|
|
type: recurrences
|
|
RuleGroupRead:
|
|
required:
|
|
- attributes
|
|
- id
|
|
- links
|
|
- type
|
|
type: object
|
|
properties:
|
|
type:
|
|
type: string
|
|
description: Immutable value
|
|
format: string
|
|
example: rules_group
|
|
id:
|
|
type: string
|
|
format: string
|
|
example: "2"
|
|
attributes:
|
|
$ref: '#/components/schemas/RuleGroup'
|
|
links:
|
|
$ref: '#/components/schemas/ObjectLink'
|
|
example:
|
|
attributes:
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
description: Description of this rule group
|
|
active: true
|
|
title: Default rule group
|
|
order: 4
|
|
links:
|
|
"0":
|
|
rel: self
|
|
uri: /OBJECTS/1
|
|
self: https://demo.firefly-iii.org/api/v1/OBJECTS/1
|
|
id: "2"
|
|
type: rules_group
|
|
RuleGroupSingle:
|
|
required:
|
|
- data
|
|
type: object
|
|
properties:
|
|
data:
|
|
$ref: '#/components/schemas/RuleGroupRead'
|
|
example:
|
|
data:
|
|
attributes:
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
description: Description of this rule group
|
|
active: true
|
|
title: Default rule group
|
|
order: 4
|
|
links:
|
|
"0":
|
|
rel: self
|
|
uri: /OBJECTS/1
|
|
self: https://demo.firefly-iii.org/api/v1/OBJECTS/1
|
|
id: "2"
|
|
type: rules_group
|
|
RuleRead:
|
|
required:
|
|
- attributes
|
|
- id
|
|
- links
|
|
- type
|
|
type: object
|
|
properties:
|
|
type:
|
|
type: string
|
|
description: Immutable value
|
|
format: string
|
|
example: rules
|
|
id:
|
|
type: string
|
|
format: string
|
|
example: "2"
|
|
attributes:
|
|
$ref: '#/components/schemas/Rule'
|
|
links:
|
|
$ref: '#/components/schemas/ObjectLink'
|
|
example:
|
|
attributes:
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
description: First rule description
|
|
active: true
|
|
trigger: store-journal
|
|
title: First rule title.
|
|
rule_group_id: "81"
|
|
triggers:
|
|
- stop_processing: false
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
prohibited: false
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
active: true
|
|
id: "2"
|
|
type: user_action
|
|
value: tag1
|
|
order: 5
|
|
- stop_processing: false
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
prohibited: false
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
active: true
|
|
id: "2"
|
|
type: user_action
|
|
value: tag1
|
|
order: 5
|
|
stop_processing: false
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
rule_group_title: New rule group
|
|
strict: true
|
|
actions:
|
|
- stop_processing: false
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
active: true
|
|
id: "2"
|
|
type: set_category
|
|
value: Daily groceries
|
|
order: 5
|
|
- stop_processing: false
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
active: true
|
|
id: "2"
|
|
type: set_category
|
|
value: Daily groceries
|
|
order: 5
|
|
order: 5
|
|
links:
|
|
"0":
|
|
rel: self
|
|
uri: /OBJECTS/1
|
|
self: https://demo.firefly-iii.org/api/v1/OBJECTS/1
|
|
id: "2"
|
|
type: rules
|
|
RuleSingle:
|
|
required:
|
|
- data
|
|
type: object
|
|
properties:
|
|
data:
|
|
$ref: '#/components/schemas/RuleRead'
|
|
example:
|
|
data:
|
|
attributes:
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
description: First rule description
|
|
active: true
|
|
trigger: store-journal
|
|
title: First rule title.
|
|
rule_group_id: "81"
|
|
triggers:
|
|
- stop_processing: false
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
prohibited: false
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
active: true
|
|
id: "2"
|
|
type: user_action
|
|
value: tag1
|
|
order: 5
|
|
- stop_processing: false
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
prohibited: false
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
active: true
|
|
id: "2"
|
|
type: user_action
|
|
value: tag1
|
|
order: 5
|
|
stop_processing: false
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
rule_group_title: New rule group
|
|
strict: true
|
|
actions:
|
|
- stop_processing: false
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
active: true
|
|
id: "2"
|
|
type: set_category
|
|
value: Daily groceries
|
|
order: 5
|
|
- stop_processing: false
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
active: true
|
|
id: "2"
|
|
type: set_category
|
|
value: Daily groceries
|
|
order: 5
|
|
order: 5
|
|
links:
|
|
"0":
|
|
rel: self
|
|
uri: /OBJECTS/1
|
|
self: https://demo.firefly-iii.org/api/v1/OBJECTS/1
|
|
id: "2"
|
|
type: rules
|
|
TagRead:
|
|
required:
|
|
- attributes
|
|
- id
|
|
- links
|
|
- type
|
|
type: object
|
|
properties:
|
|
type:
|
|
type: string
|
|
description: Immutable value
|
|
format: string
|
|
example: tags
|
|
id:
|
|
type: string
|
|
format: string
|
|
example: "2"
|
|
attributes:
|
|
$ref: '#/components/schemas/TagModel'
|
|
links:
|
|
$ref: '#/components/schemas/ObjectLink'
|
|
example:
|
|
attributes:
|
|
date: 2018-09-17T00:00:00.000+00:00
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
latitude: 51.983333
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
description: Tag for expensive stuff
|
|
tag: expensive
|
|
zoom_level: 6
|
|
longitude: 5.916667
|
|
links:
|
|
"0":
|
|
rel: self
|
|
uri: /OBJECTS/1
|
|
self: https://demo.firefly-iii.org/api/v1/OBJECTS/1
|
|
id: "2"
|
|
type: tags
|
|
TagSingle:
|
|
required:
|
|
- data
|
|
type: object
|
|
properties:
|
|
data:
|
|
$ref: '#/components/schemas/TagRead'
|
|
example:
|
|
data:
|
|
attributes:
|
|
date: 2018-09-17T00:00:00.000+00:00
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
latitude: 51.983333
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
description: Tag for expensive stuff
|
|
tag: expensive
|
|
zoom_level: 6
|
|
longitude: 5.916667
|
|
links:
|
|
"0":
|
|
rel: self
|
|
uri: /OBJECTS/1
|
|
self: https://demo.firefly-iii.org/api/v1/OBJECTS/1
|
|
id: "2"
|
|
type: tags
|
|
TransactionLinkRead:
|
|
required:
|
|
- attributes
|
|
- id
|
|
- links
|
|
- type
|
|
type: object
|
|
properties:
|
|
type:
|
|
type: string
|
|
description: Immutable value
|
|
format: string
|
|
example: transactionLinks
|
|
id:
|
|
type: string
|
|
format: string
|
|
example: "2"
|
|
attributes:
|
|
$ref: '#/components/schemas/TransactionLink'
|
|
links:
|
|
$ref: '#/components/schemas/ObjectLink'
|
|
example:
|
|
attributes:
|
|
notes: Some example notes
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
link_type_id: "5"
|
|
link_type_name: Is paid by
|
|
outward_id: "131"
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
inward_id: "131"
|
|
links:
|
|
"0":
|
|
rel: self
|
|
uri: /OBJECTS/1
|
|
self: https://demo.firefly-iii.org/api/v1/OBJECTS/1
|
|
id: "2"
|
|
type: transactionLinks
|
|
TransactionLinkSingle:
|
|
required:
|
|
- data
|
|
type: object
|
|
properties:
|
|
data:
|
|
$ref: '#/components/schemas/TransactionLinkRead'
|
|
example:
|
|
data:
|
|
attributes:
|
|
notes: Some example notes
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
link_type_id: "5"
|
|
link_type_name: Is paid by
|
|
outward_id: "131"
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
inward_id: "131"
|
|
links:
|
|
"0":
|
|
rel: self
|
|
uri: /OBJECTS/1
|
|
self: https://demo.firefly-iii.org/api/v1/OBJECTS/1
|
|
id: "2"
|
|
type: transactionLinks
|
|
TransactionRead:
|
|
required:
|
|
- attributes
|
|
- id
|
|
- links
|
|
- type
|
|
type: object
|
|
properties:
|
|
type:
|
|
type: string
|
|
description: Immutable value
|
|
format: string
|
|
example: transactions
|
|
id:
|
|
type: string
|
|
format: string
|
|
example: "2"
|
|
attributes:
|
|
$ref: '#/components/schemas/Transaction'
|
|
links:
|
|
$ref: '#/components/schemas/ObjectLink'
|
|
example:
|
|
attributes:
|
|
group_title: Split transaction title.
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
transactions:
|
|
- date: 2018-09-17T12:46:47+01:00
|
|
category_name: Groceries
|
|
notes: Some example notes
|
|
sepa_batch_id: sepa_batch_id
|
|
destination_id: "2"
|
|
zoom_level: 6
|
|
type: withdrawal
|
|
destination_type: null
|
|
external_url: external_url
|
|
transaction_journal_id: "10421"
|
|
payment_date: 2000-01-23T04:56:07.000+00:00
|
|
order: 0
|
|
longitude: 5.916667
|
|
bill_id: "111"
|
|
foreign_currency_code: USD
|
|
reconciled: false
|
|
sepa_country: sepa_country
|
|
source_type: Asset account
|
|
foreign_currency_decimal_places: 2
|
|
bill_name: Monthly rent
|
|
original_source: original_source
|
|
sepa_ct_id: sepa_ct_id
|
|
tags:
|
|
- Barbecue preparation
|
|
- Barbecue preparation
|
|
foreign_amount: "123.45"
|
|
process_date: 2000-01-23T04:56:07.000+00:00
|
|
sepa_ep: sepa_ep
|
|
internal_reference: internal_reference
|
|
sepa_cc: sepa_cc
|
|
destination_iban: NL02ABNA0123456789
|
|
source_iban: NL02ABNA0123456789
|
|
budget_id: "4"
|
|
latitude: 51.983333
|
|
description: Vegetables
|
|
destination_name: Buy and Large
|
|
external_id: external_id
|
|
currency_code: EUR
|
|
import_hash_v2: import_hash_v2
|
|
currency_decimal_places: 2
|
|
invoice_date: 2000-01-23T04:56:07.000+00:00
|
|
category_id: "43"
|
|
foreign_currency_symbol: $
|
|
recurrence_id: recurrence_id
|
|
foreign_currency_id: "17"
|
|
source_name: Checking account
|
|
amount: "123.45"
|
|
budget_name: Groceries
|
|
currency_name: Euro
|
|
has_attachments: false
|
|
currency_symbol: $
|
|
interest_date: 2000-01-23T04:56:07.000+00:00
|
|
sepa_db: sepa_db
|
|
due_date: 2000-01-23T04:56:07.000+00:00
|
|
recurrence_total: 0
|
|
book_date: 2000-01-23T04:56:07.000+00:00
|
|
recurrence_count: 12
|
|
bunq_payment_id: bunq_payment_id
|
|
sepa_ct_op: sepa_ct_op
|
|
source_id: "2"
|
|
user: "3"
|
|
currency_id: "12"
|
|
sepa_ci: sepa_ci
|
|
- date: 2018-09-17T12:46:47+01:00
|
|
category_name: Groceries
|
|
notes: Some example notes
|
|
sepa_batch_id: sepa_batch_id
|
|
destination_id: "2"
|
|
zoom_level: 6
|
|
type: withdrawal
|
|
destination_type: null
|
|
external_url: external_url
|
|
transaction_journal_id: "10421"
|
|
payment_date: 2000-01-23T04:56:07.000+00:00
|
|
order: 0
|
|
longitude: 5.916667
|
|
bill_id: "111"
|
|
foreign_currency_code: USD
|
|
reconciled: false
|
|
sepa_country: sepa_country
|
|
source_type: Asset account
|
|
foreign_currency_decimal_places: 2
|
|
bill_name: Monthly rent
|
|
original_source: original_source
|
|
sepa_ct_id: sepa_ct_id
|
|
tags:
|
|
- Barbecue preparation
|
|
- Barbecue preparation
|
|
foreign_amount: "123.45"
|
|
process_date: 2000-01-23T04:56:07.000+00:00
|
|
sepa_ep: sepa_ep
|
|
internal_reference: internal_reference
|
|
sepa_cc: sepa_cc
|
|
destination_iban: NL02ABNA0123456789
|
|
source_iban: NL02ABNA0123456789
|
|
budget_id: "4"
|
|
latitude: 51.983333
|
|
description: Vegetables
|
|
destination_name: Buy and Large
|
|
external_id: external_id
|
|
currency_code: EUR
|
|
import_hash_v2: import_hash_v2
|
|
currency_decimal_places: 2
|
|
invoice_date: 2000-01-23T04:56:07.000+00:00
|
|
category_id: "43"
|
|
foreign_currency_symbol: $
|
|
recurrence_id: recurrence_id
|
|
foreign_currency_id: "17"
|
|
source_name: Checking account
|
|
amount: "123.45"
|
|
budget_name: Groceries
|
|
currency_name: Euro
|
|
has_attachments: false
|
|
currency_symbol: $
|
|
interest_date: 2000-01-23T04:56:07.000+00:00
|
|
sepa_db: sepa_db
|
|
due_date: 2000-01-23T04:56:07.000+00:00
|
|
recurrence_total: 0
|
|
book_date: 2000-01-23T04:56:07.000+00:00
|
|
recurrence_count: 12
|
|
bunq_payment_id: bunq_payment_id
|
|
sepa_ct_op: sepa_ct_op
|
|
source_id: "2"
|
|
user: "3"
|
|
currency_id: "12"
|
|
sepa_ci: sepa_ci
|
|
user: "3"
|
|
links:
|
|
"0":
|
|
rel: self
|
|
uri: /OBJECTS/1
|
|
self: https://demo.firefly-iii.org/api/v1/OBJECTS/1
|
|
id: "2"
|
|
type: transactions
|
|
TransactionSingle:
|
|
required:
|
|
- data
|
|
type: object
|
|
properties:
|
|
data:
|
|
$ref: '#/components/schemas/TransactionRead'
|
|
example:
|
|
data:
|
|
attributes:
|
|
group_title: Split transaction title.
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
transactions:
|
|
- date: 2018-09-17T12:46:47+01:00
|
|
category_name: Groceries
|
|
notes: Some example notes
|
|
sepa_batch_id: sepa_batch_id
|
|
destination_id: "2"
|
|
zoom_level: 6
|
|
type: withdrawal
|
|
destination_type: null
|
|
external_url: external_url
|
|
transaction_journal_id: "10421"
|
|
payment_date: 2000-01-23T04:56:07.000+00:00
|
|
order: 0
|
|
longitude: 5.916667
|
|
bill_id: "111"
|
|
foreign_currency_code: USD
|
|
reconciled: false
|
|
sepa_country: sepa_country
|
|
source_type: Asset account
|
|
foreign_currency_decimal_places: 2
|
|
bill_name: Monthly rent
|
|
original_source: original_source
|
|
sepa_ct_id: sepa_ct_id
|
|
tags:
|
|
- Barbecue preparation
|
|
- Barbecue preparation
|
|
foreign_amount: "123.45"
|
|
process_date: 2000-01-23T04:56:07.000+00:00
|
|
sepa_ep: sepa_ep
|
|
internal_reference: internal_reference
|
|
sepa_cc: sepa_cc
|
|
destination_iban: NL02ABNA0123456789
|
|
source_iban: NL02ABNA0123456789
|
|
budget_id: "4"
|
|
latitude: 51.983333
|
|
description: Vegetables
|
|
destination_name: Buy and Large
|
|
external_id: external_id
|
|
currency_code: EUR
|
|
import_hash_v2: import_hash_v2
|
|
currency_decimal_places: 2
|
|
invoice_date: 2000-01-23T04:56:07.000+00:00
|
|
category_id: "43"
|
|
foreign_currency_symbol: $
|
|
recurrence_id: recurrence_id
|
|
foreign_currency_id: "17"
|
|
source_name: Checking account
|
|
amount: "123.45"
|
|
budget_name: Groceries
|
|
currency_name: Euro
|
|
has_attachments: false
|
|
currency_symbol: $
|
|
interest_date: 2000-01-23T04:56:07.000+00:00
|
|
sepa_db: sepa_db
|
|
due_date: 2000-01-23T04:56:07.000+00:00
|
|
recurrence_total: 0
|
|
book_date: 2000-01-23T04:56:07.000+00:00
|
|
recurrence_count: 12
|
|
bunq_payment_id: bunq_payment_id
|
|
sepa_ct_op: sepa_ct_op
|
|
source_id: "2"
|
|
user: "3"
|
|
currency_id: "12"
|
|
sepa_ci: sepa_ci
|
|
- date: 2018-09-17T12:46:47+01:00
|
|
category_name: Groceries
|
|
notes: Some example notes
|
|
sepa_batch_id: sepa_batch_id
|
|
destination_id: "2"
|
|
zoom_level: 6
|
|
type: withdrawal
|
|
destination_type: null
|
|
external_url: external_url
|
|
transaction_journal_id: "10421"
|
|
payment_date: 2000-01-23T04:56:07.000+00:00
|
|
order: 0
|
|
longitude: 5.916667
|
|
bill_id: "111"
|
|
foreign_currency_code: USD
|
|
reconciled: false
|
|
sepa_country: sepa_country
|
|
source_type: Asset account
|
|
foreign_currency_decimal_places: 2
|
|
bill_name: Monthly rent
|
|
original_source: original_source
|
|
sepa_ct_id: sepa_ct_id
|
|
tags:
|
|
- Barbecue preparation
|
|
- Barbecue preparation
|
|
foreign_amount: "123.45"
|
|
process_date: 2000-01-23T04:56:07.000+00:00
|
|
sepa_ep: sepa_ep
|
|
internal_reference: internal_reference
|
|
sepa_cc: sepa_cc
|
|
destination_iban: NL02ABNA0123456789
|
|
source_iban: NL02ABNA0123456789
|
|
budget_id: "4"
|
|
latitude: 51.983333
|
|
description: Vegetables
|
|
destination_name: Buy and Large
|
|
external_id: external_id
|
|
currency_code: EUR
|
|
import_hash_v2: import_hash_v2
|
|
currency_decimal_places: 2
|
|
invoice_date: 2000-01-23T04:56:07.000+00:00
|
|
category_id: "43"
|
|
foreign_currency_symbol: $
|
|
recurrence_id: recurrence_id
|
|
foreign_currency_id: "17"
|
|
source_name: Checking account
|
|
amount: "123.45"
|
|
budget_name: Groceries
|
|
currency_name: Euro
|
|
has_attachments: false
|
|
currency_symbol: $
|
|
interest_date: 2000-01-23T04:56:07.000+00:00
|
|
sepa_db: sepa_db
|
|
due_date: 2000-01-23T04:56:07.000+00:00
|
|
recurrence_total: 0
|
|
book_date: 2000-01-23T04:56:07.000+00:00
|
|
recurrence_count: 12
|
|
bunq_payment_id: bunq_payment_id
|
|
sepa_ct_op: sepa_ct_op
|
|
source_id: "2"
|
|
user: "3"
|
|
currency_id: "12"
|
|
sepa_ci: sepa_ci
|
|
user: "3"
|
|
links:
|
|
"0":
|
|
rel: self
|
|
uri: /OBJECTS/1
|
|
self: https://demo.firefly-iii.org/api/v1/OBJECTS/1
|
|
id: "2"
|
|
type: transactions
|
|
UserRead:
|
|
required:
|
|
- attributes
|
|
- id
|
|
- links
|
|
- type
|
|
type: object
|
|
properties:
|
|
type:
|
|
type: string
|
|
description: Immutable value
|
|
format: string
|
|
example: users
|
|
id:
|
|
type: string
|
|
format: string
|
|
example: "2"
|
|
attributes:
|
|
$ref: '#/components/schemas/User'
|
|
links:
|
|
$ref: '#/components/schemas/ObjectLink'
|
|
example:
|
|
attributes:
|
|
role: owner
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
blocked: false
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
blocked_code: email_changed
|
|
email: james@firefly-iii.org
|
|
links:
|
|
"0":
|
|
rel: self
|
|
uri: /OBJECTS/1
|
|
self: https://demo.firefly-iii.org/api/v1/OBJECTS/1
|
|
id: "2"
|
|
type: users
|
|
WebhookAttemptRead:
|
|
required:
|
|
- attributes
|
|
- id
|
|
- type
|
|
type: object
|
|
properties:
|
|
type:
|
|
type: string
|
|
description: Immutable value
|
|
format: string
|
|
example: webhook_attempts
|
|
id:
|
|
type: string
|
|
format: string
|
|
example: "2"
|
|
attributes:
|
|
$ref: '#/components/schemas/WebhookAttempt'
|
|
example:
|
|
attributes:
|
|
status_code: 404
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
response: Page not found
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
webhook_message_id: "5"
|
|
logs: Page not found
|
|
id: "2"
|
|
type: webhook_attempts
|
|
WebhookAttemptSingle:
|
|
required:
|
|
- data
|
|
type: object
|
|
properties:
|
|
data:
|
|
$ref: '#/components/schemas/WebhookAttemptRead'
|
|
example:
|
|
data:
|
|
attributes:
|
|
status_code: 404
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
response: Page not found
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
webhook_message_id: "5"
|
|
logs: Page not found
|
|
id: "2"
|
|
type: webhook_attempts
|
|
WebhookMessageRead:
|
|
required:
|
|
- attributes
|
|
- id
|
|
- type
|
|
type: object
|
|
properties:
|
|
type:
|
|
type: string
|
|
description: Immutable value
|
|
format: string
|
|
example: webhook_messages
|
|
id:
|
|
type: string
|
|
format: string
|
|
example: "2"
|
|
attributes:
|
|
$ref: '#/components/schemas/WebhookMessage'
|
|
example:
|
|
attributes:
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
webhook_id: "5"
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
message: "{some:message}"
|
|
sent: false
|
|
uuid: 7a344c02-5b52-46b1-90e6-a437431dcf07
|
|
errored: false
|
|
id: "2"
|
|
type: webhook_messages
|
|
WebhookMessageSingle:
|
|
required:
|
|
- data
|
|
type: object
|
|
properties:
|
|
data:
|
|
$ref: '#/components/schemas/WebhookMessageRead'
|
|
example:
|
|
data:
|
|
attributes:
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
webhook_id: "5"
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
message: "{some:message}"
|
|
sent: false
|
|
uuid: 7a344c02-5b52-46b1-90e6-a437431dcf07
|
|
errored: false
|
|
id: "2"
|
|
type: webhook_messages
|
|
WebhookRead:
|
|
required:
|
|
- attributes
|
|
- id
|
|
- links
|
|
- type
|
|
type: object
|
|
properties:
|
|
type:
|
|
type: string
|
|
description: Immutable value
|
|
format: string
|
|
example: webhooks
|
|
id:
|
|
type: string
|
|
format: string
|
|
example: "2"
|
|
attributes:
|
|
$ref: '#/components/schemas/Webhook'
|
|
links:
|
|
$ref: '#/components/schemas/ObjectLink'
|
|
example:
|
|
attributes:
|
|
delivery: JSON
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
response: RESPONSE_TRANSACTIONS
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
active: false
|
|
secret: iMLZLtLx2JHWhK9Dtyuoqyir
|
|
trigger: DESTROY_TRANSACTION
|
|
title: Update magic mirror on new transaction
|
|
url: https://example.com
|
|
links:
|
|
"0":
|
|
rel: self
|
|
uri: /OBJECTS/1
|
|
self: https://demo.firefly-iii.org/api/v1/OBJECTS/1
|
|
id: "2"
|
|
type: webhooks
|
|
WebhookSingle:
|
|
required:
|
|
- data
|
|
type: object
|
|
properties:
|
|
data:
|
|
$ref: '#/components/schemas/WebhookRead'
|
|
example:
|
|
data:
|
|
attributes:
|
|
delivery: JSON
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
response: RESPONSE_TRANSACTIONS
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
active: false
|
|
secret: iMLZLtLx2JHWhK9Dtyuoqyir
|
|
trigger: DESTROY_TRANSACTION
|
|
title: Update magic mirror on new transaction
|
|
url: https://example.com
|
|
links:
|
|
"0":
|
|
rel: self
|
|
uri: /OBJECTS/1
|
|
self: https://demo.firefly-iii.org/api/v1/OBJECTS/1
|
|
id: "2"
|
|
type: webhooks
|
|
Account:
|
|
required:
|
|
- name
|
|
- type
|
|
type: object
|
|
properties:
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
example: 2018-09-17T12:46:47+01:00
|
|
updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
example: 2018-09-17T12:46:47+01:00
|
|
active:
|
|
type: boolean
|
|
description: "If omitted, defaults to true."
|
|
format: boolean
|
|
example: false
|
|
default: true
|
|
order:
|
|
type: integer
|
|
description: Order of the account. Is NULL if account is not asset or liability.
|
|
format: int32
|
|
nullable: true
|
|
example: 1
|
|
name:
|
|
type: string
|
|
format: string
|
|
example: My checking account
|
|
type:
|
|
$ref: '#/components/schemas/ShortAccountTypeProperty'
|
|
account_role:
|
|
$ref: '#/components/schemas/AccountRoleProperty'
|
|
currency_id:
|
|
type: string
|
|
description: Use either currency_id or currency_code. Defaults to the user's
|
|
default currency.
|
|
format: string
|
|
example: "12"
|
|
currency_code:
|
|
type: string
|
|
description: Use either currency_id or currency_code. Defaults to the user's
|
|
default currency.
|
|
format: string
|
|
example: EUR
|
|
currency_symbol:
|
|
type: string
|
|
format: string
|
|
readOnly: true
|
|
example: $
|
|
currency_decimal_places:
|
|
type: integer
|
|
format: int32
|
|
readOnly: true
|
|
example: 2
|
|
current_balance:
|
|
type: string
|
|
format: amount
|
|
readOnly: true
|
|
example: "123.45"
|
|
current_balance_date:
|
|
type: string
|
|
description: "The timestamp for this date is always 23:59:59, to indicate\
|
|
\ it's the balance at the very END of that particular day."
|
|
format: date-time
|
|
readOnly: true
|
|
example: 2018-09-17T12:46:47+01:00
|
|
iban:
|
|
type: string
|
|
format: iban
|
|
nullable: true
|
|
example: GB98MIDL07009312345678
|
|
bic:
|
|
type: string
|
|
format: string
|
|
nullable: true
|
|
example: BOFAUS3N
|
|
account_number:
|
|
type: string
|
|
format: string
|
|
nullable: true
|
|
example: "7009312345678"
|
|
opening_balance:
|
|
type: string
|
|
description: "Represents the opening balance, the initial amount this account\
|
|
\ holds."
|
|
format: amount
|
|
example: "-1012.12"
|
|
current_debt:
|
|
type: string
|
|
description: Represents the current debt for liabilities.
|
|
format: amount
|
|
nullable: true
|
|
example: "1012.12"
|
|
opening_balance_date:
|
|
type: string
|
|
description: Represents the date of the opening balance.
|
|
format: date-time
|
|
nullable: true
|
|
example: 2018-09-17T12:46:47+01:00
|
|
virtual_balance:
|
|
type: string
|
|
format: amount
|
|
example: "123.45"
|
|
include_net_worth:
|
|
type: boolean
|
|
description: "If omitted, defaults to true."
|
|
format: boolean
|
|
example: true
|
|
default: true
|
|
credit_card_type:
|
|
$ref: '#/components/schemas/CreditCardTypeProperty'
|
|
monthly_payment_date:
|
|
type: string
|
|
description: Mandatory when the account_role is ccAsset. Moment at which
|
|
CC payment installments are asked for by the bank.
|
|
format: date-time
|
|
nullable: true
|
|
example: 2018-09-17T12:46:47+01:00
|
|
liability_type:
|
|
$ref: '#/components/schemas/LiabilityTypeProperty'
|
|
liability_direction:
|
|
$ref: '#/components/schemas/LiabilityDirectionProperty'
|
|
interest:
|
|
type: string
|
|
description: Mandatory when type is liability. Interest percentage.
|
|
format: string
|
|
nullable: true
|
|
example: "5.3"
|
|
interest_period:
|
|
$ref: '#/components/schemas/InterestPeriodProperty'
|
|
notes:
|
|
type: string
|
|
format: string
|
|
nullable: true
|
|
example: Some example notes
|
|
latitude:
|
|
type: number
|
|
description: "Latitude of the accounts's location, if applicable. Can be\
|
|
\ used to draw a map."
|
|
format: double
|
|
nullable: true
|
|
example: 51.983333
|
|
longitude:
|
|
type: number
|
|
description: "Latitude of the accounts's location, if applicable. Can be\
|
|
\ used to draw a map."
|
|
format: double
|
|
nullable: true
|
|
example: 5.916667
|
|
zoom_level:
|
|
type: integer
|
|
description: "Zoom level for the map, if drawn. This to set the box right.\
|
|
\ Unfortunately this is a proprietary value because each map provider\
|
|
\ has different zoom levels."
|
|
format: int32
|
|
nullable: true
|
|
example: 6
|
|
example:
|
|
account_number: "7009312345678"
|
|
notes: Some example notes
|
|
account_role: defaultAsset
|
|
latitude: 51.983333
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
zoom_level: 6
|
|
type: asset
|
|
currency_code: EUR
|
|
currency_decimal_places: 2
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
current_balance_date: 2018-09-17T12:46:47+01:00
|
|
interest: "5.3"
|
|
current_balance: "123.45"
|
|
opening_balance: "-1012.12"
|
|
interest_period: monthly
|
|
order: 1
|
|
current_debt: "1012.12"
|
|
longitude: 5.916667
|
|
include_net_worth: true
|
|
opening_balance_date: 2018-09-17T12:46:47+01:00
|
|
currency_symbol: $
|
|
active: false
|
|
monthly_payment_date: 2018-09-17T12:46:47+01:00
|
|
virtual_balance: "123.45"
|
|
liability_type: loan
|
|
credit_card_type: monthlyFull
|
|
iban: GB98MIDL07009312345678
|
|
name: My checking account
|
|
bic: BOFAUS3N
|
|
liability_direction: credit
|
|
currency_id: "12"
|
|
AccountStore:
|
|
required:
|
|
- name
|
|
- type
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
format: string
|
|
example: My checking account
|
|
type:
|
|
$ref: '#/components/schemas/ShortAccountTypeProperty'
|
|
iban:
|
|
type: string
|
|
format: iban
|
|
nullable: true
|
|
example: GB98MIDL07009312345678
|
|
bic:
|
|
type: string
|
|
format: string
|
|
nullable: true
|
|
example: BOFAUS3N
|
|
account_number:
|
|
type: string
|
|
format: string
|
|
nullable: true
|
|
example: "7009312345678"
|
|
opening_balance:
|
|
type: string
|
|
description: "Represents the opening balance, the initial amount this account\
|
|
\ holds."
|
|
format: amount
|
|
example: "-1012.12"
|
|
opening_balance_date:
|
|
type: string
|
|
description: Represents the date of the opening balance.
|
|
format: date-time
|
|
nullable: true
|
|
example: 2018-09-17T12:46:47+01:00
|
|
virtual_balance:
|
|
type: string
|
|
format: amount
|
|
example: "123.45"
|
|
currency_id:
|
|
type: string
|
|
description: Use either currency_id or currency_code. Defaults to the user's
|
|
default currency.
|
|
format: string
|
|
example: "12"
|
|
currency_code:
|
|
type: string
|
|
description: Use either currency_id or currency_code. Defaults to the user's
|
|
default currency.
|
|
format: string
|
|
example: EUR
|
|
active:
|
|
type: boolean
|
|
description: "If omitted, defaults to true."
|
|
format: boolean
|
|
example: false
|
|
default: true
|
|
order:
|
|
type: integer
|
|
description: Order of the account
|
|
format: int32
|
|
example: 1
|
|
include_net_worth:
|
|
type: boolean
|
|
description: "If omitted, defaults to true."
|
|
format: boolean
|
|
example: true
|
|
default: true
|
|
account_role:
|
|
$ref: '#/components/schemas/AccountRoleProperty'
|
|
credit_card_type:
|
|
$ref: '#/components/schemas/CreditCardTypeProperty'
|
|
monthly_payment_date:
|
|
type: string
|
|
description: Mandatory when the account_role is ccAsset. Moment at which
|
|
CC payment installments are asked for by the bank.
|
|
format: date-time
|
|
nullable: true
|
|
example: 2018-09-17T12:46:47+01:00
|
|
liability_type:
|
|
$ref: '#/components/schemas/LiabilityTypeProperty'
|
|
liability_direction:
|
|
$ref: '#/components/schemas/LiabilityDirectionProperty'
|
|
interest:
|
|
type: string
|
|
description: Mandatory when type is liability. Interest percentage.
|
|
format: string
|
|
nullable: true
|
|
example: "5.3"
|
|
default: "0"
|
|
interest_period:
|
|
$ref: '#/components/schemas/InterestPeriodProperty'
|
|
notes:
|
|
type: string
|
|
format: string
|
|
nullable: true
|
|
example: Some example notes
|
|
latitude:
|
|
type: number
|
|
description: "Latitude of the accounts's location, if applicable. Can be\
|
|
\ used to draw a map."
|
|
format: double
|
|
nullable: true
|
|
example: 51.983333
|
|
longitude:
|
|
type: number
|
|
description: "Latitude of the accounts's location, if applicable. Can be\
|
|
\ used to draw a map."
|
|
format: double
|
|
nullable: true
|
|
example: 5.916667
|
|
zoom_level:
|
|
type: integer
|
|
description: "Zoom level for the map, if drawn. This to set the box right.\
|
|
\ Unfortunately this is a proprietary value because each map provider\
|
|
\ has different zoom levels."
|
|
format: int32
|
|
nullable: true
|
|
example: 6
|
|
AccountUpdate:
|
|
required:
|
|
- name
|
|
- type
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
format: string
|
|
example: My checking account
|
|
iban:
|
|
type: string
|
|
format: iban
|
|
nullable: true
|
|
example: GB98MIDL07009312345678
|
|
bic:
|
|
type: string
|
|
format: string
|
|
nullable: true
|
|
example: BOFAUS3N
|
|
account_number:
|
|
type: string
|
|
format: string
|
|
nullable: true
|
|
example: "7009312345678"
|
|
opening_balance:
|
|
type: string
|
|
format: amount
|
|
example: "-1012.12"
|
|
opening_balance_date:
|
|
type: string
|
|
format: date-time
|
|
nullable: true
|
|
example: 2018-09-17T12:46:47+01:00
|
|
virtual_balance:
|
|
type: string
|
|
format: amount
|
|
example: "123.45"
|
|
currency_id:
|
|
type: string
|
|
description: Use either currency_id or currency_code. Defaults to the user's
|
|
default currency.
|
|
format: string
|
|
example: "12"
|
|
currency_code:
|
|
type: string
|
|
description: Use either currency_id or currency_code. Defaults to the user's
|
|
default currency.
|
|
format: string
|
|
example: EUR
|
|
active:
|
|
type: boolean
|
|
description: "If omitted, defaults to true."
|
|
format: boolean
|
|
example: false
|
|
default: true
|
|
order:
|
|
type: integer
|
|
description: Order of the account
|
|
format: int32
|
|
example: 1
|
|
include_net_worth:
|
|
type: boolean
|
|
description: "If omitted, defaults to true."
|
|
format: boolean
|
|
example: true
|
|
default: true
|
|
account_role:
|
|
$ref: '#/components/schemas/AccountRoleProperty'
|
|
credit_card_type:
|
|
$ref: '#/components/schemas/CreditCardTypeProperty'
|
|
monthly_payment_date:
|
|
type: string
|
|
description: Mandatory when the account_role is ccAsset. Moment at which
|
|
CC payment installments are asked for by the bank.
|
|
format: date-time
|
|
nullable: true
|
|
example: 2018-09-17T12:46:47+01:00
|
|
liability_type:
|
|
$ref: '#/components/schemas/LiabilityTypeProperty'
|
|
interest:
|
|
type: string
|
|
description: Mandatory when type is liability. Interest percentage.
|
|
format: string
|
|
nullable: true
|
|
example: "5.3"
|
|
interest_period:
|
|
$ref: '#/components/schemas/InterestPeriodProperty'
|
|
notes:
|
|
type: string
|
|
format: string
|
|
nullable: true
|
|
example: Some example notes
|
|
latitude:
|
|
type: number
|
|
description: "Latitude of the account's location, if applicable. Can be\
|
|
\ used to draw a map. If omitted, the existing location will be kept.\
|
|
\ If submitted as NULL, the current location will be removed."
|
|
format: double
|
|
nullable: true
|
|
example: 51.983333
|
|
longitude:
|
|
type: number
|
|
description: "Latitude of the account's location, if applicable. Can be\
|
|
\ used to draw a map. If omitted, the existing location will be kept.\
|
|
\ If submitted as NULL, the current location will be removed."
|
|
format: double
|
|
nullable: true
|
|
example: 5.916667
|
|
zoom_level:
|
|
type: integer
|
|
description: "Zoom level for the map, if drawn. This to set the box right.\
|
|
\ Unfortunately this is a proprietary value because each map provider\
|
|
\ has different zoom levels. If omitted, the existing location will be\
|
|
\ kept. If submitted as NULL, the current location will be removed."
|
|
format: int32
|
|
nullable: true
|
|
example: 6
|
|
Attachment:
|
|
required:
|
|
- attachable_id
|
|
- attachable_type
|
|
- filename
|
|
type: object
|
|
properties:
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
example: 2018-09-17T12:46:47+01:00
|
|
updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
example: 2018-09-17T12:46:47+01:00
|
|
attachable_type:
|
|
$ref: '#/components/schemas/AttachableType'
|
|
attachable_id:
|
|
type: string
|
|
description: ID of the model this attachment is linked to.
|
|
format: string
|
|
example: "134"
|
|
md5:
|
|
type: string
|
|
description: MD5 hash of the file for basic duplicate detection.
|
|
format: string
|
|
example: 0c3f95f34370baa88f9fd9a671fea305
|
|
filename:
|
|
type: string
|
|
format: string
|
|
example: file.pdf
|
|
download_url:
|
|
type: string
|
|
format: string
|
|
example: https://demo.firefly-iii.org/api/v1/attachments/191/download
|
|
upload_url:
|
|
type: string
|
|
format: string
|
|
example: https://demo.firefly-iii.org/api/v1/attachments/191/download
|
|
title:
|
|
type: string
|
|
format: string
|
|
nullable: true
|
|
example: Some PDF file
|
|
notes:
|
|
type: string
|
|
format: string
|
|
nullable: true
|
|
example: Some notes
|
|
mime:
|
|
type: string
|
|
format: string
|
|
readOnly: true
|
|
example: application/pdf
|
|
size:
|
|
type: integer
|
|
format: int32
|
|
readOnly: true
|
|
example: 48211
|
|
example:
|
|
filename: file.pdf
|
|
notes: Some notes
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
size: 48211
|
|
mime: application/pdf
|
|
attachable_id: "134"
|
|
download_url: https://demo.firefly-iii.org/api/v1/attachments/191/download
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
upload_url: https://demo.firefly-iii.org/api/v1/attachments/191/download
|
|
title: Some PDF file
|
|
attachable_type: Bill
|
|
md5: 0c3f95f34370baa88f9fd9a671fea305
|
|
AttachmentStore:
|
|
required:
|
|
- attachable_id
|
|
- attachable_type
|
|
- filename
|
|
type: object
|
|
properties:
|
|
filename:
|
|
type: string
|
|
format: string
|
|
example: file.pdf
|
|
attachable_type:
|
|
$ref: '#/components/schemas/AttachableType'
|
|
attachable_id:
|
|
type: string
|
|
description: ID of the model this attachment is linked to.
|
|
format: string
|
|
example: "134"
|
|
title:
|
|
type: string
|
|
format: string
|
|
example: Some PDF file
|
|
notes:
|
|
type: string
|
|
format: string
|
|
nullable: true
|
|
example: Some notes
|
|
AttachmentUpdate:
|
|
type: object
|
|
properties:
|
|
filename:
|
|
type: string
|
|
format: string
|
|
example: file.pdf
|
|
title:
|
|
type: string
|
|
format: string
|
|
example: Some PDF file
|
|
notes:
|
|
type: string
|
|
format: string
|
|
nullable: true
|
|
example: Some notes
|
|
AvailableBudget:
|
|
required:
|
|
- amount
|
|
- end
|
|
- start
|
|
type: object
|
|
properties:
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
example: 2018-09-17T12:46:47+01:00
|
|
updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
example: 2018-09-17T12:46:47+01:00
|
|
currency_id:
|
|
type: string
|
|
description: Use either currency_id or currency_code.
|
|
format: string
|
|
example: "5"
|
|
currency_code:
|
|
type: string
|
|
description: Use either currency_id or currency_code.
|
|
format: string
|
|
example: EUR
|
|
currency_symbol:
|
|
type: string
|
|
format: string
|
|
readOnly: true
|
|
example: $
|
|
currency_decimal_places:
|
|
type: integer
|
|
format: int32
|
|
readOnly: true
|
|
example: 2
|
|
amount:
|
|
type: string
|
|
format: amount
|
|
example: "123.45"
|
|
start:
|
|
type: string
|
|
description: Start date of the available budget.
|
|
format: date-time
|
|
example: 2018-09-17T12:46:47+01:00
|
|
end:
|
|
type: string
|
|
description: End date of the available budget.
|
|
format: date-time
|
|
example: 2018-09-17T12:46:47+01:00
|
|
spent_in_budgets:
|
|
type: array
|
|
readOnly: true
|
|
items:
|
|
$ref: '#/components/schemas/BudgetSpent'
|
|
spent_outside_budget:
|
|
type: array
|
|
readOnly: true
|
|
items:
|
|
$ref: '#/components/schemas/BudgetSpent'
|
|
example:
|
|
amount: "123.45"
|
|
spent_outside_budget:
|
|
- null
|
|
- null
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
spent_in_budgets:
|
|
- currency_symbol: $
|
|
sum: "123.45"
|
|
currency_id: "5"
|
|
currency_code: USD
|
|
currency_decimal_places: 2
|
|
- currency_symbol: $
|
|
sum: "123.45"
|
|
currency_id: "5"
|
|
currency_code: USD
|
|
currency_decimal_places: 2
|
|
currency_symbol: $
|
|
start: 2018-09-17T12:46:47+01:00
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
end: 2018-09-17T12:46:47+01:00
|
|
currency_id: "5"
|
|
currency_code: EUR
|
|
currency_decimal_places: 2
|
|
Bill:
|
|
required:
|
|
- amount_max
|
|
- amount_min
|
|
- date
|
|
- name
|
|
- repeat_freq
|
|
type: object
|
|
properties:
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
example: 2018-09-17T12:46:47+01:00
|
|
updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
example: 2018-09-17T12:46:47+01:00
|
|
currency_id:
|
|
type: string
|
|
description: Use either currency_id or currency_code
|
|
format: string
|
|
example: "5"
|
|
currency_code:
|
|
type: string
|
|
description: Use either currency_id or currency_code
|
|
format: string
|
|
example: EUR
|
|
currency_symbol:
|
|
type: string
|
|
format: string
|
|
readOnly: true
|
|
example: $
|
|
currency_decimal_places:
|
|
type: integer
|
|
format: int32
|
|
readOnly: true
|
|
example: 2
|
|
name:
|
|
type: string
|
|
format: string
|
|
example: Rent
|
|
amount_min:
|
|
type: string
|
|
format: amount
|
|
example: "123.45"
|
|
amount_max:
|
|
type: string
|
|
format: amount
|
|
example: "123.45"
|
|
date:
|
|
type: string
|
|
format: date-time
|
|
example: 2018-09-17T12:46:47+01:00
|
|
end_date:
|
|
type: string
|
|
description: The date after which this bill is no longer valid or applicable
|
|
format: date-time
|
|
nullable: true
|
|
example: 2018-09-17T12:46:47+01:00
|
|
extension_date:
|
|
type: string
|
|
description: The date before which the bill must be renewed (or cancelled)
|
|
format: date-time
|
|
nullable: true
|
|
example: 2018-09-17T12:46:47+01:00
|
|
repeat_freq:
|
|
$ref: '#/components/schemas/BillRepeatFrequency'
|
|
skip:
|
|
type: integer
|
|
description: How often the bill must be skipped. 1 means a bi-monthly bill.
|
|
format: int32
|
|
example: 0
|
|
active:
|
|
type: boolean
|
|
description: If the bill is active.
|
|
format: boolean
|
|
example: true
|
|
order:
|
|
type: integer
|
|
description: Order of the bill.
|
|
format: int32
|
|
example: 1
|
|
notes:
|
|
type: string
|
|
format: string
|
|
nullable: true
|
|
example: Some example notes
|
|
next_expected_match:
|
|
type: string
|
|
description: When the bill is expected to be due.
|
|
format: date-time
|
|
nullable: true
|
|
readOnly: true
|
|
example: 2018-09-17T12:46:47+01:00
|
|
next_expected_match_diff:
|
|
type: string
|
|
description: Formatted (locally) when the bill is due.
|
|
format: string
|
|
nullable: true
|
|
readOnly: true
|
|
example: today
|
|
object_group_id:
|
|
type: string
|
|
description: The group ID of the group this object is part of. NULL if no
|
|
group.
|
|
format: string
|
|
nullable: true
|
|
example: "5"
|
|
object_group_order:
|
|
type: integer
|
|
description: "The order of the group. At least 1, for the highest sorting."
|
|
format: int32
|
|
nullable: true
|
|
readOnly: true
|
|
example: 5
|
|
object_group_title:
|
|
type: string
|
|
description: The name of the group. NULL if no group.
|
|
format: string
|
|
nullable: true
|
|
example: Example Group
|
|
pay_dates:
|
|
type: array
|
|
description: Array of future dates when the bill is expected to be paid.
|
|
Autogenerated.
|
|
readOnly: true
|
|
items:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
example: 2018-09-17T12:46:47+01:00
|
|
paid_dates:
|
|
type: array
|
|
description: Array of past transactions when the bill was paid.
|
|
readOnly: true
|
|
items:
|
|
$ref: '#/components/schemas/Bill_paid_dates'
|
|
example:
|
|
date: 2018-09-17T12:46:47+01:00
|
|
end_date: 2018-09-17T12:46:47+01:00
|
|
notes: Some example notes
|
|
currency_symbol: $
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
active: true
|
|
amount_max: "123.45"
|
|
skip: 0
|
|
next_expected_match: 2018-09-17T12:46:47+01:00
|
|
object_group_order: 5
|
|
next_expected_match_diff: today
|
|
repeat_freq: monthly
|
|
currency_code: EUR
|
|
currency_decimal_places: 2
|
|
extension_date: 2018-09-17T12:46:47+01:00
|
|
pay_dates:
|
|
- 2018-09-17T12:46:47+01:00
|
|
- 2018-09-17T12:46:47+01:00
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
object_group_id: "5"
|
|
paid_dates:
|
|
- date: 2018-09-17T12:46:47+01:00
|
|
transaction_group_id: "123"
|
|
transaction_journal_id: "123"
|
|
- date: 2018-09-17T12:46:47+01:00
|
|
transaction_group_id: "123"
|
|
transaction_journal_id: "123"
|
|
name: Rent
|
|
amount_min: "123.45"
|
|
currency_id: "5"
|
|
order: 1
|
|
object_group_title: Example Group
|
|
BillStore:
|
|
required:
|
|
- amount_max
|
|
- amount_min
|
|
- date
|
|
- name
|
|
- repeat_freq
|
|
type: object
|
|
properties:
|
|
currency_id:
|
|
type: string
|
|
description: Use either currency_id or currency_code
|
|
format: string
|
|
example: "5"
|
|
currency_code:
|
|
type: string
|
|
description: Use either currency_id or currency_code
|
|
format: string
|
|
example: EUR
|
|
name:
|
|
type: string
|
|
format: string
|
|
example: Rent
|
|
amount_min:
|
|
type: string
|
|
format: amount
|
|
example: "123.45"
|
|
amount_max:
|
|
type: string
|
|
format: amount
|
|
example: "123.45"
|
|
date:
|
|
type: string
|
|
format: date-time
|
|
example: 2018-09-17T12:46:47+01:00
|
|
end_date:
|
|
type: string
|
|
description: The date after which this bill is no longer valid or applicable
|
|
format: date-time
|
|
example: 2018-09-17T12:46:47+01:00
|
|
extension_date:
|
|
type: string
|
|
description: The date before which the bill must be renewed (or cancelled)
|
|
format: date-time
|
|
example: 2018-09-17T12:46:47+01:00
|
|
repeat_freq:
|
|
$ref: '#/components/schemas/BillRepeatFrequency'
|
|
skip:
|
|
type: integer
|
|
description: How often the bill must be skipped. 1 means a bi-monthly bill.
|
|
format: int32
|
|
example: 0
|
|
active:
|
|
type: boolean
|
|
description: If the bill is active.
|
|
format: boolean
|
|
example: true
|
|
notes:
|
|
type: string
|
|
format: string
|
|
nullable: true
|
|
example: Some example notes
|
|
object_group_id:
|
|
type: string
|
|
description: The group ID of the group this object is part of. NULL if no
|
|
group.
|
|
format: string
|
|
nullable: true
|
|
example: "5"
|
|
object_group_title:
|
|
type: string
|
|
description: The name of the group. NULL if no group.
|
|
format: string
|
|
nullable: true
|
|
example: Example Group
|
|
BillUpdate:
|
|
required:
|
|
- name
|
|
type: object
|
|
properties:
|
|
currency_id:
|
|
type: string
|
|
description: Use either currency_id or currency_code
|
|
format: string
|
|
example: "5"
|
|
currency_code:
|
|
type: string
|
|
description: Use either currency_id or currency_code
|
|
format: string
|
|
example: EUR
|
|
name:
|
|
type: string
|
|
format: string
|
|
example: Rent
|
|
amount_min:
|
|
type: string
|
|
format: amount
|
|
example: "123.45"
|
|
amount_max:
|
|
type: string
|
|
format: amount
|
|
example: "123.45"
|
|
date:
|
|
type: string
|
|
format: date-time
|
|
example: 2018-09-17T12:46:47+01:00
|
|
end_date:
|
|
type: string
|
|
description: The date after which this bill is no longer valid or applicable
|
|
format: date-time
|
|
example: 2018-09-17T12:46:47+01:00
|
|
extension_date:
|
|
type: string
|
|
description: The date before which the bill must be renewed (or cancelled)
|
|
format: date-time
|
|
example: 2018-09-17T12:46:47+01:00
|
|
repeat_freq:
|
|
$ref: '#/components/schemas/BillRepeatFrequency'
|
|
skip:
|
|
type: integer
|
|
description: How often the bill must be skipped. 1 means a bi-monthly bill.
|
|
format: int32
|
|
example: 0
|
|
active:
|
|
type: boolean
|
|
description: If the bill is active.
|
|
format: boolean
|
|
example: true
|
|
notes:
|
|
type: string
|
|
format: string
|
|
nullable: true
|
|
example: Some example notes
|
|
object_group_id:
|
|
type: string
|
|
description: The group ID of the group this object is part of. NULL if no
|
|
group.
|
|
format: string
|
|
nullable: true
|
|
example: "5"
|
|
object_group_title:
|
|
type: string
|
|
description: The name of the group. NULL if no group.
|
|
format: string
|
|
nullable: true
|
|
example: Example Group
|
|
Budget:
|
|
required:
|
|
- name
|
|
type: object
|
|
properties:
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
example: 2018-09-17T12:46:47+01:00
|
|
updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
example: 2018-09-17T12:46:47+01:00
|
|
name:
|
|
type: string
|
|
format: string
|
|
example: Bills
|
|
active:
|
|
type: boolean
|
|
format: boolean
|
|
example: false
|
|
notes:
|
|
type: string
|
|
format: string
|
|
nullable: true
|
|
example: Some notes
|
|
order:
|
|
type: integer
|
|
format: int32
|
|
readOnly: true
|
|
example: 5
|
|
auto_budget_type:
|
|
$ref: '#/components/schemas/AutoBudgetType'
|
|
auto_budget_currency_id:
|
|
type: string
|
|
description: Use either currency_id or currency_code. Defaults to the user's
|
|
default currency.
|
|
format: string
|
|
nullable: true
|
|
example: "12"
|
|
auto_budget_currency_code:
|
|
type: string
|
|
description: Use either currency_id or currency_code. Defaults to the user's
|
|
default currency.
|
|
format: string
|
|
nullable: true
|
|
example: EUR
|
|
auto_budget_amount:
|
|
type: string
|
|
format: amount
|
|
nullable: true
|
|
example: "-1012.12"
|
|
auto_budget_period:
|
|
$ref: '#/components/schemas/AutoBudgetPeriod'
|
|
spent:
|
|
type: array
|
|
description: Information on how much was spent in this budget. Is only filled
|
|
in when the start and end date are submitted.
|
|
readOnly: true
|
|
items:
|
|
$ref: '#/components/schemas/BudgetSpent'
|
|
example:
|
|
auto_budget_currency_id: "12"
|
|
auto_budget_amount: "-1012.12"
|
|
auto_budget_period: monthly
|
|
notes: Some notes
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
auto_budget_type: reset
|
|
spent:
|
|
- currency_symbol: $
|
|
sum: "123.45"
|
|
currency_id: "5"
|
|
currency_code: USD
|
|
currency_decimal_places: 2
|
|
- currency_symbol: $
|
|
sum: "123.45"
|
|
currency_id: "5"
|
|
currency_code: USD
|
|
currency_decimal_places: 2
|
|
name: Bills
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
active: false
|
|
auto_budget_currency_code: EUR
|
|
order: 5
|
|
BudgetStore:
|
|
required:
|
|
- name
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
format: string
|
|
example: Bills
|
|
active:
|
|
type: boolean
|
|
format: boolean
|
|
example: false
|
|
order:
|
|
type: integer
|
|
format: int32
|
|
readOnly: true
|
|
example: 5
|
|
notes:
|
|
type: string
|
|
format: string
|
|
nullable: true
|
|
example: Some notes
|
|
auto_budget_type:
|
|
$ref: '#/components/schemas/AutoBudgetType'
|
|
auto_budget_currency_id:
|
|
type: string
|
|
description: Use either currency_id or currency_code. Defaults to the user's
|
|
default currency.
|
|
format: string
|
|
nullable: true
|
|
example: "12"
|
|
auto_budget_currency_code:
|
|
type: string
|
|
description: Use either currency_id or currency_code. Defaults to the user's
|
|
default currency.
|
|
format: string
|
|
nullable: true
|
|
example: EUR
|
|
auto_budget_amount:
|
|
type: string
|
|
format: amount
|
|
nullable: true
|
|
example: "-1012.12"
|
|
auto_budget_period:
|
|
$ref: '#/components/schemas/AutoBudgetPeriod'
|
|
BudgetUpdate:
|
|
required:
|
|
- name
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
format: string
|
|
example: Bills
|
|
active:
|
|
type: boolean
|
|
format: boolean
|
|
example: false
|
|
order:
|
|
type: integer
|
|
format: int32
|
|
example: 5
|
|
notes:
|
|
type: string
|
|
format: string
|
|
nullable: true
|
|
example: Some notes
|
|
auto_budget_type:
|
|
$ref: '#/components/schemas/AutoBudgetType'
|
|
auto_budget_currency_id:
|
|
type: string
|
|
description: Use either currency_id or currency_code. Defaults to the user's
|
|
default currency.
|
|
format: string
|
|
nullable: true
|
|
example: "12"
|
|
auto_budget_currency_code:
|
|
type: string
|
|
description: Use either currency_id or currency_code. Defaults to the user's
|
|
default currency.
|
|
format: string
|
|
nullable: true
|
|
example: EUR
|
|
auto_budget_amount:
|
|
type: string
|
|
format: amount
|
|
nullable: true
|
|
example: "-1012.12"
|
|
auto_budget_period:
|
|
$ref: '#/components/schemas/AutoBudgetPeriod'
|
|
BudgetLimit:
|
|
required:
|
|
- amount
|
|
- budget_id
|
|
- end
|
|
- start
|
|
type: object
|
|
properties:
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
example: 2018-09-17T12:46:47+01:00
|
|
updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
example: 2018-09-17T12:46:47+01:00
|
|
start:
|
|
type: string
|
|
description: Start date of the budget limit.
|
|
format: date-time
|
|
example: 2018-09-17T12:46:47+01:00
|
|
end:
|
|
type: string
|
|
description: End date of the budget limit.
|
|
format: date-time
|
|
example: 2018-09-17T12:46:47+01:00
|
|
currency_id:
|
|
type: string
|
|
description: Use either currency_id or currency_code. Defaults to the user's
|
|
default currency.
|
|
format: string
|
|
example: "5"
|
|
currency_code:
|
|
type: string
|
|
description: Use either currency_id or currency_code. Defaults to the user's
|
|
default currency.
|
|
format: string
|
|
example: EUR
|
|
currency_name:
|
|
type: string
|
|
format: string
|
|
readOnly: true
|
|
example: Euro
|
|
currency_symbol:
|
|
type: string
|
|
format: string
|
|
readOnly: true
|
|
example: $
|
|
currency_decimal_places:
|
|
type: integer
|
|
format: int32
|
|
readOnly: true
|
|
example: 2
|
|
budget_id:
|
|
type: string
|
|
description: The budget ID of the associated budget.
|
|
format: string
|
|
readOnly: true
|
|
example: "23"
|
|
period:
|
|
type: string
|
|
description: Period of the budget limit. Only used when auto-generated by
|
|
auto-budget.
|
|
format: string
|
|
nullable: true
|
|
readOnly: true
|
|
example: monthly
|
|
amount:
|
|
type: string
|
|
format: amount
|
|
example: "123.45"
|
|
spent:
|
|
type: string
|
|
format: amount
|
|
nullable: true
|
|
readOnly: true
|
|
example: "-1012.12"
|
|
example:
|
|
period: monthly
|
|
amount: "123.45"
|
|
currency_name: Euro
|
|
currency_symbol: $
|
|
budget_id: "23"
|
|
spent: "-1012.12"
|
|
start: 2018-09-17T12:46:47+01:00
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
currency_code: EUR
|
|
currency_decimal_places: 2
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
end: 2018-09-17T12:46:47+01:00
|
|
currency_id: "5"
|
|
BudgetLimitStore:
|
|
required:
|
|
- amount
|
|
- budget_id
|
|
- end
|
|
- start
|
|
type: object
|
|
properties:
|
|
currency_id:
|
|
type: string
|
|
description: Use either currency_id or currency_code. Defaults to the user's
|
|
default currency.
|
|
format: string
|
|
example: "5"
|
|
currency_code:
|
|
type: string
|
|
description: Use either currency_id or currency_code. Defaults to the user's
|
|
default currency.
|
|
format: string
|
|
example: EUR
|
|
budget_id:
|
|
type: string
|
|
description: The budget ID of the associated budget.
|
|
format: string
|
|
readOnly: true
|
|
example: "23"
|
|
start:
|
|
type: string
|
|
description: Start date of the budget limit.
|
|
format: date
|
|
example: 2017-09-17
|
|
period:
|
|
type: string
|
|
description: Period of the budget limit. Only used when auto-generated by
|
|
auto-budget.
|
|
format: string
|
|
nullable: true
|
|
readOnly: true
|
|
example: monthly
|
|
end:
|
|
type: string
|
|
description: End date of the budget limit.
|
|
format: date
|
|
example: 2017-09-17
|
|
amount:
|
|
type: string
|
|
format: amount
|
|
example: "123.45"
|
|
BudgetSpent:
|
|
type: object
|
|
properties:
|
|
sum:
|
|
type: string
|
|
description: The amount spent.
|
|
format: amount
|
|
example: "123.45"
|
|
currency_id:
|
|
type: string
|
|
format: string
|
|
example: "5"
|
|
currency_code:
|
|
type: string
|
|
format: string
|
|
example: USD
|
|
currency_symbol:
|
|
type: string
|
|
format: string
|
|
example: $
|
|
currency_decimal_places:
|
|
type: integer
|
|
description: Number of decimals supported by the currency
|
|
format: int32
|
|
example: 2
|
|
example:
|
|
currency_symbol: $
|
|
sum: "123.45"
|
|
currency_id: "5"
|
|
currency_code: USD
|
|
currency_decimal_places: 2
|
|
Category:
|
|
required:
|
|
- name
|
|
type: object
|
|
properties:
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
example: 2018-09-17T12:46:47+01:00
|
|
updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
example: 2018-09-17T12:46:47+01:00
|
|
name:
|
|
type: string
|
|
format: string
|
|
example: Lunch
|
|
notes:
|
|
type: string
|
|
format: string
|
|
nullable: true
|
|
example: Some example notes
|
|
spent:
|
|
type: array
|
|
readOnly: true
|
|
items:
|
|
$ref: '#/components/schemas/CategorySpent'
|
|
earned:
|
|
type: array
|
|
readOnly: true
|
|
items:
|
|
$ref: '#/components/schemas/CategoryEarned'
|
|
example:
|
|
earned:
|
|
- currency_symbol: $
|
|
sum: "123.45"
|
|
currency_id: "5"
|
|
currency_code: USD
|
|
currency_decimal_places: 2
|
|
- currency_symbol: $
|
|
sum: "123.45"
|
|
currency_id: "5"
|
|
currency_code: USD
|
|
currency_decimal_places: 2
|
|
notes: Some example notes
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
spent:
|
|
- currency_symbol: $
|
|
sum: "-12423.45"
|
|
currency_id: "5"
|
|
currency_code: USD
|
|
currency_decimal_places: 2
|
|
- currency_symbol: $
|
|
sum: "-12423.45"
|
|
currency_id: "5"
|
|
currency_code: USD
|
|
currency_decimal_places: 2
|
|
name: Lunch
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
CategoryUpdate:
|
|
required:
|
|
- name
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
format: string
|
|
example: Lunch
|
|
notes:
|
|
type: string
|
|
format: string
|
|
nullable: true
|
|
example: Some example notes
|
|
CategoryEarned:
|
|
type: object
|
|
properties:
|
|
currency_id:
|
|
type: string
|
|
format: string
|
|
example: "5"
|
|
currency_code:
|
|
type: string
|
|
format: string
|
|
example: USD
|
|
currency_symbol:
|
|
type: string
|
|
format: string
|
|
example: $
|
|
currency_decimal_places:
|
|
type: integer
|
|
description: Number of decimals supported by the currency
|
|
format: int32
|
|
example: 2
|
|
sum:
|
|
type: string
|
|
description: The amount earned.
|
|
format: amount
|
|
example: "123.45"
|
|
example:
|
|
currency_symbol: $
|
|
sum: "123.45"
|
|
currency_id: "5"
|
|
currency_code: USD
|
|
currency_decimal_places: 2
|
|
CategorySpent:
|
|
type: object
|
|
properties:
|
|
currency_id:
|
|
type: string
|
|
format: string
|
|
example: "5"
|
|
currency_code:
|
|
type: string
|
|
format: string
|
|
example: USD
|
|
currency_symbol:
|
|
type: string
|
|
format: string
|
|
example: $
|
|
currency_decimal_places:
|
|
type: integer
|
|
description: Number of decimals supported by the currency
|
|
format: int32
|
|
example: 2
|
|
sum:
|
|
type: string
|
|
description: The amount spent.
|
|
format: amount
|
|
example: "-12423.45"
|
|
example:
|
|
currency_symbol: $
|
|
sum: "-12423.45"
|
|
currency_id: "5"
|
|
currency_code: USD
|
|
currency_decimal_places: 2
|
|
ObjectGroup:
|
|
required:
|
|
- order
|
|
- title
|
|
type: object
|
|
properties:
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
example: 2018-09-17T12:46:47+01:00
|
|
updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
example: 2018-09-17T12:46:47+01:00
|
|
title:
|
|
type: string
|
|
format: string
|
|
example: My object group
|
|
order:
|
|
type: integer
|
|
description: Order of the object group
|
|
format: int32
|
|
example: 1
|
|
example:
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
title: My object group
|
|
order: 1
|
|
ObjectGroupUpdate:
|
|
required:
|
|
- title
|
|
type: object
|
|
properties:
|
|
title:
|
|
type: string
|
|
format: string
|
|
example: My object group
|
|
order:
|
|
type: integer
|
|
description: Order of the object group
|
|
format: int32
|
|
example: 1
|
|
ObjectLink:
|
|
type: object
|
|
properties:
|
|
"0":
|
|
$ref: '#/components/schemas/ObjectLink_0'
|
|
self:
|
|
type: string
|
|
format: uri
|
|
example: https://demo.firefly-iii.org/api/v1/OBJECTS/1
|
|
example:
|
|
"0":
|
|
rel: self
|
|
uri: /OBJECTS/1
|
|
self: https://demo.firefly-iii.org/api/v1/OBJECTS/1
|
|
PageLink:
|
|
type: object
|
|
properties:
|
|
self:
|
|
type: string
|
|
format: uri
|
|
example: https://demo.firefly-iii.org/api/v1/OBJECT?&page=4
|
|
first:
|
|
type: string
|
|
format: uri
|
|
example: https://demo.firefly-iii.org/api/v1/OBJECT?&page=1
|
|
next:
|
|
type: string
|
|
format: uri
|
|
nullable: true
|
|
example: https://demo.firefly-iii.org/api/v1/OBJECT?&page=3
|
|
prev:
|
|
type: string
|
|
format: uri
|
|
nullable: true
|
|
example: https://demo.firefly-iii.org/api/v1/OBJECT?&page=2
|
|
last:
|
|
type: string
|
|
format: uri
|
|
example: https://demo.firefly-iii.org/api/v1/OBJECT?&page=12
|
|
example:
|
|
next: https://demo.firefly-iii.org/api/v1/OBJECT?&page=3
|
|
last: https://demo.firefly-iii.org/api/v1/OBJECT?&page=12
|
|
prev: https://demo.firefly-iii.org/api/v1/OBJECT?&page=2
|
|
self: https://demo.firefly-iii.org/api/v1/OBJECT?&page=4
|
|
first: https://demo.firefly-iii.org/api/v1/OBJECT?&page=1
|
|
PiggyBank:
|
|
required:
|
|
- account_id
|
|
- name
|
|
- target_amount
|
|
type: object
|
|
properties:
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
example: 2018-09-17T12:46:47+01:00
|
|
updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
example: 2018-09-17T12:46:47+01:00
|
|
account_id:
|
|
type: string
|
|
description: The ID of the asset account this piggy bank is connected to.
|
|
format: string
|
|
example: "13"
|
|
account_name:
|
|
type: string
|
|
description: The name of the asset account this piggy bank is connected
|
|
to.
|
|
format: string
|
|
readOnly: true
|
|
example: Savings account
|
|
name:
|
|
type: string
|
|
format: string
|
|
example: New digital camera
|
|
currency_id:
|
|
type: string
|
|
format: string
|
|
readOnly: true
|
|
example: "5"
|
|
currency_code:
|
|
type: string
|
|
format: string
|
|
readOnly: true
|
|
example: USD
|
|
currency_symbol:
|
|
type: string
|
|
format: string
|
|
readOnly: true
|
|
example: $
|
|
currency_decimal_places:
|
|
type: integer
|
|
description: Number of decimals supported by the currency
|
|
format: int32
|
|
readOnly: true
|
|
example: 2
|
|
target_amount:
|
|
type: string
|
|
format: amount
|
|
nullable: true
|
|
example: "123.45"
|
|
percentage:
|
|
type: number
|
|
format: float
|
|
nullable: true
|
|
readOnly: true
|
|
example: 12.5
|
|
current_amount:
|
|
type: string
|
|
format: amount
|
|
example: "123.45"
|
|
left_to_save:
|
|
type: string
|
|
format: string
|
|
nullable: true
|
|
readOnly: true
|
|
example: "700.00"
|
|
save_per_month:
|
|
type: string
|
|
format: string
|
|
nullable: true
|
|
readOnly: true
|
|
example: "12.45"
|
|
start_date:
|
|
type: string
|
|
description: The date you started with this piggy bank.
|
|
format: date
|
|
example: 2018-09-17
|
|
target_date:
|
|
type: string
|
|
description: The date you intend to finish saving money.
|
|
format: date
|
|
nullable: true
|
|
example: 2018-09-17
|
|
order:
|
|
type: integer
|
|
format: int32
|
|
example: 5
|
|
active:
|
|
type: boolean
|
|
format: boolean
|
|
readOnly: true
|
|
example: true
|
|
notes:
|
|
type: string
|
|
format: string
|
|
nullable: true
|
|
example: Some notes
|
|
object_group_id:
|
|
type: string
|
|
description: The group ID of the group this object is part of. NULL if no
|
|
group.
|
|
format: string
|
|
nullable: true
|
|
example: "5"
|
|
object_group_order:
|
|
type: integer
|
|
description: "The order of the group. At least 1, for the highest sorting."
|
|
format: int32
|
|
nullable: true
|
|
readOnly: true
|
|
example: 5
|
|
object_group_title:
|
|
type: string
|
|
description: The name of the group. NULL if no group.
|
|
format: string
|
|
nullable: true
|
|
example: Example Group
|
|
example:
|
|
target_amount: "123.45"
|
|
notes: Some notes
|
|
target_date: 2018-09-17T00:00:00.000+00:00
|
|
currency_symbol: $
|
|
left_to_save: "700.00"
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
active: true
|
|
object_group_order: 5
|
|
currency_code: USD
|
|
currency_decimal_places: 2
|
|
current_amount: "123.45"
|
|
account_id: "13"
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
object_group_id: "5"
|
|
account_name: Savings account
|
|
percentage: 12.5
|
|
name: New digital camera
|
|
currency_id: "5"
|
|
save_per_month: "12.45"
|
|
start_date: 2018-09-17T00:00:00.000+00:00
|
|
order: 5
|
|
object_group_title: Example Group
|
|
PiggyBankStore:
|
|
required:
|
|
- account_id
|
|
- name
|
|
- target_amount
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
format: string
|
|
example: New digital camera
|
|
account_id:
|
|
type: string
|
|
description: The ID of the asset account this piggy bank is connected to.
|
|
format: string
|
|
example: "13"
|
|
target_amount:
|
|
type: string
|
|
format: amount
|
|
nullable: true
|
|
example: "123.45"
|
|
current_amount:
|
|
type: string
|
|
format: amount
|
|
example: "123.45"
|
|
start_date:
|
|
type: string
|
|
description: The date you started with this piggy bank.
|
|
format: date
|
|
example: 2018-09-17
|
|
target_date:
|
|
type: string
|
|
description: The date you intend to finish saving money.
|
|
format: date
|
|
nullable: true
|
|
example: 2018-09-17
|
|
order:
|
|
type: integer
|
|
format: int32
|
|
example: 5
|
|
active:
|
|
type: boolean
|
|
format: boolean
|
|
readOnly: true
|
|
example: true
|
|
notes:
|
|
type: string
|
|
format: string
|
|
nullable: true
|
|
example: Some notes
|
|
object_group_id:
|
|
type: string
|
|
description: The group ID of the group this object is part of. NULL if no
|
|
group.
|
|
format: string
|
|
nullable: true
|
|
example: "5"
|
|
object_group_title:
|
|
type: string
|
|
description: The name of the group. NULL if no group.
|
|
format: string
|
|
nullable: true
|
|
example: Example Group
|
|
PiggyBankUpdate:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
format: string
|
|
example: New digital camera
|
|
account_id:
|
|
type: string
|
|
description: The ID of the asset account this piggy bank is connected to.
|
|
format: string
|
|
example: "13"
|
|
currency_id:
|
|
type: string
|
|
format: string
|
|
readOnly: true
|
|
example: "5"
|
|
currency_code:
|
|
type: string
|
|
format: string
|
|
readOnly: true
|
|
example: USD
|
|
target_amount:
|
|
type: string
|
|
format: amount
|
|
nullable: true
|
|
example: "123.45"
|
|
current_amount:
|
|
type: string
|
|
format: amount
|
|
example: "123.45"
|
|
start_date:
|
|
type: string
|
|
description: The date you started with this piggy bank.
|
|
format: date
|
|
example: 2018-09-17
|
|
target_date:
|
|
type: string
|
|
description: The date you intend to finish saving money.
|
|
format: date
|
|
nullable: true
|
|
example: 2018-09-17
|
|
order:
|
|
type: integer
|
|
format: int32
|
|
example: 5
|
|
active:
|
|
type: boolean
|
|
format: boolean
|
|
readOnly: true
|
|
example: true
|
|
notes:
|
|
type: string
|
|
format: string
|
|
nullable: true
|
|
example: Some notes
|
|
object_group_id:
|
|
type: string
|
|
description: The group ID of the group this object is part of. NULL if no
|
|
group.
|
|
format: string
|
|
nullable: true
|
|
example: "5"
|
|
object_group_title:
|
|
type: string
|
|
description: The name of the group. NULL if no group.
|
|
format: string
|
|
nullable: true
|
|
example: Example Group
|
|
PiggyBankEvent:
|
|
type: object
|
|
properties:
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
example: 2018-09-17T12:46:47+01:00
|
|
updated_at:
|
|
type: string
|
|
format: date-time
|
|
example: 2018-09-17T12:46:47+01:00
|
|
currency_id:
|
|
type: string
|
|
format: string
|
|
example: "5"
|
|
currency_code:
|
|
type: string
|
|
format: string
|
|
example: EUR
|
|
currency_symbol:
|
|
type: string
|
|
format: string
|
|
example: $
|
|
currency_decimal_places:
|
|
type: integer
|
|
format: int32
|
|
example: 2
|
|
amount:
|
|
type: string
|
|
format: amount
|
|
example: "123.45"
|
|
transaction_journal_id:
|
|
type: string
|
|
description: The journal associated with the event.
|
|
format: string
|
|
nullable: true
|
|
example: "4291"
|
|
transaction_group_id:
|
|
type: string
|
|
description: The transaction group associated with the event.
|
|
format: string
|
|
nullable: true
|
|
example: "4291"
|
|
example:
|
|
amount: "123.45"
|
|
transaction_journal_id: "4291"
|
|
transaction_group_id: "4291"
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
currency_symbol: $
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
currency_id: "5"
|
|
currency_code: EUR
|
|
currency_decimal_places: 2
|
|
Preference:
|
|
required:
|
|
- data
|
|
- name
|
|
type: object
|
|
properties:
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
example: 2018-09-17T12:46:47+01:00
|
|
updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
example: 2018-09-17T12:46:47+01:00
|
|
name:
|
|
type: string
|
|
format: string
|
|
example: currencyPreference
|
|
data:
|
|
$ref: '#/components/schemas/PolymorphicProperty'
|
|
example:
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
data: ""
|
|
name: currencyPreference
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
PreferenceUpdate:
|
|
required:
|
|
- data
|
|
type: object
|
|
properties:
|
|
data:
|
|
$ref: '#/components/schemas/PolymorphicProperty'
|
|
Recurrence:
|
|
type: object
|
|
properties:
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
example: 2018-09-17T12:46:47+01:00
|
|
updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
example: 2018-09-17T12:46:47+01:00
|
|
type:
|
|
$ref: '#/components/schemas/RecurrenceTransactionType'
|
|
title:
|
|
type: string
|
|
format: string
|
|
example: Rent
|
|
description:
|
|
type: string
|
|
description: Not to be confused with the description of the actual transaction(s)
|
|
being created.
|
|
format: string
|
|
example: Recurring transaction for the monthly rent
|
|
first_date:
|
|
type: string
|
|
description: First time the recurring transaction will fire. Must be after
|
|
today.
|
|
format: date
|
|
example: 2018-09-17
|
|
latest_date:
|
|
type: string
|
|
description: Last time the recurring transaction has fired.
|
|
format: date
|
|
nullable: true
|
|
readOnly: true
|
|
example: 2018-09-17
|
|
repeat_until:
|
|
type: string
|
|
description: Date until the recurring transaction can fire. Use either this
|
|
field or repetitions.
|
|
format: date
|
|
nullable: true
|
|
example: 2018-09-17
|
|
nr_of_repetitions:
|
|
type: integer
|
|
description: Max number of created transactions. Use either this field or
|
|
repeat_until.
|
|
format: int32
|
|
nullable: true
|
|
example: 5
|
|
apply_rules:
|
|
type: boolean
|
|
description: Whether or not to fire the rules after the creation of a transaction.
|
|
format: boolean
|
|
example: true
|
|
active:
|
|
type: boolean
|
|
description: If the recurrence is even active.
|
|
format: boolean
|
|
example: true
|
|
notes:
|
|
type: string
|
|
format: string
|
|
nullable: true
|
|
example: Some notes
|
|
repetitions:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/RecurrenceRepetition'
|
|
transactions:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/RecurrenceTransaction'
|
|
example:
|
|
apply_rules: true
|
|
nr_of_repetitions: 5
|
|
notes: Some notes
|
|
repeat_until: 2018-09-17T00:00:00.000+00:00
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
description: Recurring transaction for the monthly rent
|
|
active: true
|
|
type: withdrawal
|
|
title: Rent
|
|
transactions:
|
|
- category_name: Bills
|
|
destination_iban: NL02ABNA0123456789
|
|
source_iban: NL02ABNA0123456789
|
|
budget_id: "4"
|
|
destination_id: "258"
|
|
description: Rent for the current month
|
|
destination_name: Buy and Large
|
|
currency_code: EUR
|
|
currency_decimal_places: 2
|
|
destination_type: null
|
|
category_id: "211"
|
|
foreign_currency_symbol: $
|
|
piggy_bank_name: piggy_bank_name
|
|
id: ID of the recurring transaction. Not to be confused with the ID of the
|
|
recurrence itself.
|
|
foreign_currency_id: "17"
|
|
source_name: Checking account
|
|
bill_id: "123"
|
|
amount: "123.45"
|
|
budget_name: Groceries
|
|
foreign_currency_code: GBP
|
|
currency_symbol: €
|
|
source_type: Asset account
|
|
foreign_currency_decimal_places: 2
|
|
bill_name: bill_name
|
|
piggy_bank_id: "123"
|
|
tags:
|
|
- Barbecue preparation
|
|
- Barbecue preparation
|
|
foreign_amount: "123.45"
|
|
source_id: "913"
|
|
currency_id: "3"
|
|
- category_name: Bills
|
|
destination_iban: NL02ABNA0123456789
|
|
source_iban: NL02ABNA0123456789
|
|
budget_id: "4"
|
|
destination_id: "258"
|
|
description: Rent for the current month
|
|
destination_name: Buy and Large
|
|
currency_code: EUR
|
|
currency_decimal_places: 2
|
|
destination_type: null
|
|
category_id: "211"
|
|
foreign_currency_symbol: $
|
|
piggy_bank_name: piggy_bank_name
|
|
id: ID of the recurring transaction. Not to be confused with the ID of the
|
|
recurrence itself.
|
|
foreign_currency_id: "17"
|
|
source_name: Checking account
|
|
bill_id: "123"
|
|
amount: "123.45"
|
|
budget_name: Groceries
|
|
foreign_currency_code: GBP
|
|
currency_symbol: €
|
|
source_type: Asset account
|
|
foreign_currency_decimal_places: 2
|
|
bill_name: bill_name
|
|
piggy_bank_id: "123"
|
|
tags:
|
|
- Barbecue preparation
|
|
- Barbecue preparation
|
|
foreign_amount: "123.45"
|
|
source_id: "913"
|
|
currency_id: "3"
|
|
repetitions:
|
|
- occurrences:
|
|
- 2018-09-17T12:46:47+01:00
|
|
- 2018-09-17T12:46:47+01:00
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
weekend: 1
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
description: Every week on Friday
|
|
skip: 0
|
|
id: "2"
|
|
type: weekly
|
|
moment: "3"
|
|
- occurrences:
|
|
- 2018-09-17T12:46:47+01:00
|
|
- 2018-09-17T12:46:47+01:00
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
weekend: 1
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
description: Every week on Friday
|
|
skip: 0
|
|
id: "2"
|
|
type: weekly
|
|
moment: "3"
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
latest_date: 2018-09-17T00:00:00.000+00:00
|
|
first_date: 2018-09-17T00:00:00.000+00:00
|
|
RecurrenceStore:
|
|
required:
|
|
- first_date
|
|
- repeat_until
|
|
- repetitions
|
|
- title
|
|
- transactions
|
|
- type
|
|
type: object
|
|
properties:
|
|
type:
|
|
$ref: '#/components/schemas/RecurrenceTransactionType'
|
|
title:
|
|
type: string
|
|
format: string
|
|
example: Rent
|
|
description:
|
|
type: string
|
|
description: Not to be confused with the description of the actual transaction(s)
|
|
being created.
|
|
format: string
|
|
example: Recurring transaction for the monthly rent
|
|
first_date:
|
|
type: string
|
|
description: First time the recurring transaction will fire. Must be after
|
|
today.
|
|
format: date
|
|
example: 2018-09-17
|
|
repeat_until:
|
|
type: string
|
|
description: Date until the recurring transaction can fire. Use either this
|
|
field or repetitions.
|
|
format: date
|
|
nullable: true
|
|
example: 2018-09-17
|
|
nr_of_repetitions:
|
|
type: integer
|
|
description: Max number of created transactions. Use either this field or
|
|
repeat_until.
|
|
format: int32
|
|
nullable: true
|
|
example: 5
|
|
apply_rules:
|
|
type: boolean
|
|
description: Whether or not to fire the rules after the creation of a transaction.
|
|
format: boolean
|
|
example: true
|
|
active:
|
|
type: boolean
|
|
description: If the recurrence is even active.
|
|
format: boolean
|
|
example: true
|
|
notes:
|
|
type: string
|
|
format: string
|
|
nullable: true
|
|
example: Some notes
|
|
repetitions:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/RecurrenceRepetitionStore'
|
|
transactions:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/RecurrenceTransactionStore'
|
|
RecurrenceUpdate:
|
|
type: object
|
|
properties:
|
|
title:
|
|
type: string
|
|
format: string
|
|
example: Rent
|
|
description:
|
|
type: string
|
|
description: Not to be confused with the description of the actual transaction(s)
|
|
being created.
|
|
format: string
|
|
example: Recurring transaction for the monthly rent
|
|
first_date:
|
|
type: string
|
|
description: First time the recurring transaction will fire.
|
|
format: date
|
|
example: 2018-09-17
|
|
repeat_until:
|
|
type: string
|
|
description: "Date until the recurring transaction can fire. After that\
|
|
\ date, it's basically inactive. Use either this field or repetitions."
|
|
format: date
|
|
nullable: true
|
|
example: 2018-09-17
|
|
nr_of_repetitions:
|
|
type: integer
|
|
description: Max number of created transactions. Use either this field or
|
|
repeat_until.
|
|
format: int32
|
|
nullable: true
|
|
example: 5
|
|
apply_rules:
|
|
type: boolean
|
|
description: Whether or not to fire the rules after the creation of a transaction.
|
|
format: boolean
|
|
example: true
|
|
active:
|
|
type: boolean
|
|
description: If the recurrence is even active.
|
|
format: boolean
|
|
example: true
|
|
notes:
|
|
type: string
|
|
format: string
|
|
nullable: true
|
|
example: Some notes
|
|
repetitions:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/RecurrenceRepetitionUpdate'
|
|
transactions:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/RecurrenceTransactionUpdate'
|
|
RecurrenceRepetition:
|
|
required:
|
|
- moment
|
|
- type
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: string
|
|
readOnly: true
|
|
example: "2"
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
example: 2018-09-17T12:46:47+01:00
|
|
updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
example: 2018-09-17T12:46:47+01:00
|
|
type:
|
|
$ref: '#/components/schemas/RecurrenceRepetitionType'
|
|
moment:
|
|
type: string
|
|
description: |
|
|
Information that defined the type of repetition.
|
|
- For 'daily', this is empty.
|
|
- For 'weekly', it is day of the week between 1 and 7 (Monday - Sunday).
|
|
- For 'ndom', it is '1,2' or '4,5' or something else, where the first number is the week in the month, and the second number is the day in the week (between 1 and 7). '2,3' means: the 2nd Wednesday of the month
|
|
- For 'monthly' it is the day of the month (1 - 31)
|
|
- For yearly, it is a full date, ie '2018-09-17'. The year you use does not matter.
|
|
format: string
|
|
example: "3"
|
|
skip:
|
|
type: integer
|
|
description: How many occurrences to skip. 0 means skip nothing. 1 means
|
|
every other.
|
|
format: int32
|
|
example: 0
|
|
weekend:
|
|
type: integer
|
|
description: |
|
|
How to respond when the recurring transaction falls in the weekend. Possible values:
|
|
1. Do nothing, just create it
|
|
2. Create no transaction.
|
|
3. Skip to the previous Friday.
|
|
4. Skip to the next Monday.
|
|
format: int32
|
|
example: 1
|
|
description:
|
|
type: string
|
|
description: Auto-generated repetition description.
|
|
format: string
|
|
readOnly: true
|
|
example: Every week on Friday
|
|
occurrences:
|
|
type: array
|
|
description: Array of future dates when the repetition will apply to. Auto
|
|
generated.
|
|
readOnly: true
|
|
items:
|
|
type: string
|
|
format: date-time
|
|
example: 2018-09-17T12:46:47+01:00
|
|
example:
|
|
occurrences:
|
|
- 2018-09-17T12:46:47+01:00
|
|
- 2018-09-17T12:46:47+01:00
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
weekend: 1
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
description: Every week on Friday
|
|
skip: 0
|
|
id: "2"
|
|
type: weekly
|
|
moment: "3"
|
|
RecurrenceRepetitionStore:
|
|
required:
|
|
- moment
|
|
- type
|
|
type: object
|
|
properties:
|
|
type:
|
|
$ref: '#/components/schemas/RecurrenceRepetitionType'
|
|
moment:
|
|
type: string
|
|
description: |
|
|
Information that defined the type of repetition.
|
|
- For 'daily', this is empty.
|
|
- For 'weekly', it is day of the week between 1 and 7 (Monday - Sunday).
|
|
- For 'ndom', it is '1,2' or '4,5' or something else, where the first number is the week in the month, and the second number is the day in the week (between 1 and 7). '2,3' means: the 2nd Wednesday of the month
|
|
- For 'monthly' it is the day of the month (1 - 31)
|
|
- For yearly, it is a full date, ie '2018-09-17'. The year you use does not matter.
|
|
format: string
|
|
example: "3"
|
|
skip:
|
|
type: integer
|
|
description: How many occurrences to skip. 0 means skip nothing. 1 means
|
|
every other.
|
|
format: int32
|
|
example: 0
|
|
weekend:
|
|
type: integer
|
|
description: |
|
|
How to respond when the recurring transaction falls in the weekend. Possible values:
|
|
1. Do nothing, just create it
|
|
2. Create no transaction.
|
|
3. Skip to the previous Friday.
|
|
4. Skip to the next Monday.
|
|
format: int32
|
|
example: 1
|
|
RecurrenceRepetitionUpdate:
|
|
type: object
|
|
properties:
|
|
type:
|
|
$ref: '#/components/schemas/RecurrenceRepetitionType'
|
|
moment:
|
|
type: string
|
|
description: |
|
|
Information that defined the type of repetition.
|
|
- For 'daily', this is empty.
|
|
- For 'weekly', it is day of the week between 1 and 7 (Monday - Sunday).
|
|
- For 'ndom', it is '1,2' or '4,5' or something else, where the first number is the week in the month, and the second number is the day in the week (between 1 and 7). '2,3' means: the 2nd Wednesday of the month
|
|
- For 'monthly' it is the day of the month (1 - 31)
|
|
- For yearly, it is a full date, ie '2018-09-17'. The year you use does not matter.
|
|
format: string
|
|
example: "3"
|
|
skip:
|
|
type: integer
|
|
description: How many occurrences to skip. 0 means skip nothing. 1 means
|
|
every other.
|
|
format: int32
|
|
example: 0
|
|
weekend:
|
|
type: integer
|
|
description: |
|
|
How to respond when the recurring transaction falls in the weekend. Possible values:
|
|
1. Do nothing, just create it
|
|
2. Create no transaction.
|
|
3. Skip to the previous Friday.
|
|
4. Skip to the next Monday.
|
|
format: int32
|
|
example: 1
|
|
RecurrenceTransaction:
|
|
required:
|
|
- amount
|
|
- description
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: string
|
|
example: ID of the recurring transaction. Not to be confused with the ID
|
|
of the recurrence itself.
|
|
description:
|
|
type: string
|
|
format: string
|
|
example: Rent for the current month
|
|
amount:
|
|
type: string
|
|
description: Amount of the transaction.
|
|
format: amount
|
|
example: "123.45"
|
|
foreign_amount:
|
|
type: string
|
|
description: Foreign amount of the transaction.
|
|
format: amount
|
|
nullable: true
|
|
example: "123.45"
|
|
currency_id:
|
|
type: string
|
|
description: Submit either a currency_id or a currency_code.
|
|
format: string
|
|
example: "3"
|
|
currency_code:
|
|
type: string
|
|
description: Submit either a currency_id or a currency_code.
|
|
format: string
|
|
example: EUR
|
|
currency_symbol:
|
|
type: string
|
|
format: string
|
|
readOnly: true
|
|
example: €
|
|
currency_decimal_places:
|
|
type: integer
|
|
description: Number of decimals in the currency
|
|
format: int32
|
|
readOnly: true
|
|
example: 2
|
|
foreign_currency_id:
|
|
type: string
|
|
description: "Submit either a foreign_currency_id or a foreign_currency_code,\
|
|
\ or neither."
|
|
format: string
|
|
nullable: true
|
|
example: "17"
|
|
foreign_currency_code:
|
|
type: string
|
|
description: "Submit either a foreign_currency_id or a foreign_currency_code,\
|
|
\ or neither."
|
|
format: string
|
|
nullable: true
|
|
example: GBP
|
|
foreign_currency_symbol:
|
|
type: string
|
|
format: string
|
|
nullable: true
|
|
readOnly: true
|
|
example: $
|
|
foreign_currency_decimal_places:
|
|
type: integer
|
|
description: Number of decimals in the currency
|
|
format: int32
|
|
nullable: true
|
|
readOnly: true
|
|
example: 2
|
|
budget_id:
|
|
type: string
|
|
description: The budget ID for this transaction.
|
|
format: string
|
|
example: "4"
|
|
budget_name:
|
|
type: string
|
|
description: "The name of the budget to be used. If the budget name is unknown,\
|
|
\ the ID will be used or the value will be ignored."
|
|
format: string
|
|
nullable: true
|
|
readOnly: true
|
|
example: Groceries
|
|
category_id:
|
|
type: string
|
|
description: Category ID for this transaction.
|
|
format: string
|
|
example: "211"
|
|
category_name:
|
|
type: string
|
|
description: Category name for this transaction.
|
|
format: string
|
|
example: Bills
|
|
source_id:
|
|
type: string
|
|
description: ID of the source account. Submit either this or source_name.
|
|
format: string
|
|
example: "913"
|
|
source_name:
|
|
type: string
|
|
description: Name of the source account. Submit either this or source_id.
|
|
format: string
|
|
example: Checking account
|
|
source_iban:
|
|
type: string
|
|
format: string
|
|
nullable: true
|
|
readOnly: true
|
|
example: NL02ABNA0123456789
|
|
source_type:
|
|
$ref: '#/components/schemas/AccountTypeProperty'
|
|
destination_id:
|
|
type: string
|
|
description: ID of the destination account. Submit either this or destination_name.
|
|
format: string
|
|
example: "258"
|
|
destination_name:
|
|
type: string
|
|
description: Name of the destination account. Submit either this or destination_id.
|
|
format: string
|
|
example: Buy and Large
|
|
destination_iban:
|
|
type: string
|
|
format: string
|
|
nullable: true
|
|
readOnly: true
|
|
example: NL02ABNA0123456789
|
|
destination_type:
|
|
$ref: '#/components/schemas/AccountTypeProperty'
|
|
tags:
|
|
type: array
|
|
description: Array of tags.
|
|
nullable: true
|
|
items:
|
|
type: string
|
|
description: Tag.
|
|
format: string
|
|
example: Barbecue preparation
|
|
example: null
|
|
piggy_bank_id:
|
|
type: string
|
|
description: Optional. Use either this or the piggy_bank_name
|
|
format: string
|
|
nullable: true
|
|
example: "123"
|
|
piggy_bank_name:
|
|
type: string
|
|
description: Optional. Use either this or the piggy_bank_id
|
|
format: string
|
|
nullable: true
|
|
bill_id:
|
|
type: string
|
|
description: Optional. Use either this or the bill_name
|
|
format: string
|
|
nullable: true
|
|
example: "123"
|
|
bill_name:
|
|
type: string
|
|
description: Optional. Use either this or the bill_id
|
|
format: string
|
|
nullable: true
|
|
example:
|
|
category_name: Bills
|
|
destination_iban: NL02ABNA0123456789
|
|
source_iban: NL02ABNA0123456789
|
|
budget_id: "4"
|
|
destination_id: "258"
|
|
description: Rent for the current month
|
|
destination_name: Buy and Large
|
|
currency_code: EUR
|
|
currency_decimal_places: 2
|
|
destination_type: null
|
|
category_id: "211"
|
|
foreign_currency_symbol: $
|
|
piggy_bank_name: piggy_bank_name
|
|
id: ID of the recurring transaction. Not to be confused with the ID of the
|
|
recurrence itself.
|
|
foreign_currency_id: "17"
|
|
source_name: Checking account
|
|
bill_id: "123"
|
|
amount: "123.45"
|
|
budget_name: Groceries
|
|
foreign_currency_code: GBP
|
|
currency_symbol: €
|
|
source_type: Asset account
|
|
foreign_currency_decimal_places: 2
|
|
bill_name: bill_name
|
|
piggy_bank_id: "123"
|
|
tags:
|
|
- Barbecue preparation
|
|
- Barbecue preparation
|
|
foreign_amount: "123.45"
|
|
source_id: "913"
|
|
currency_id: "3"
|
|
RecurrenceTransactionStore:
|
|
required:
|
|
- amount
|
|
- description
|
|
- destination_id
|
|
- source_id
|
|
type: object
|
|
properties:
|
|
description:
|
|
type: string
|
|
format: string
|
|
example: Rent for the current month
|
|
amount:
|
|
type: string
|
|
description: Amount of the transaction.
|
|
format: amount
|
|
example: "123.45"
|
|
foreign_amount:
|
|
type: string
|
|
description: Foreign amount of the transaction.
|
|
format: amount
|
|
nullable: true
|
|
example: "123.45"
|
|
currency_id:
|
|
type: string
|
|
description: Submit either a currency_id or a currency_code.
|
|
format: string
|
|
example: "3"
|
|
currency_code:
|
|
type: string
|
|
description: Submit either a currency_id or a currency_code.
|
|
format: string
|
|
example: EUR
|
|
foreign_currency_id:
|
|
type: string
|
|
description: "Submit either a foreign_currency_id or a foreign_currency_code,\
|
|
\ or neither."
|
|
format: string
|
|
nullable: true
|
|
example: "17"
|
|
foreign_currency_code:
|
|
type: string
|
|
description: "Submit either a foreign_currency_id or a foreign_currency_code,\
|
|
\ or neither."
|
|
format: string
|
|
nullable: true
|
|
example: GBP
|
|
budget_id:
|
|
type: string
|
|
description: The budget ID for this transaction.
|
|
format: string
|
|
example: "4"
|
|
category_id:
|
|
type: string
|
|
description: Category ID for this transaction.
|
|
format: string
|
|
example: "211"
|
|
source_id:
|
|
type: string
|
|
description: ID of the source account.
|
|
format: string
|
|
example: "913"
|
|
destination_id:
|
|
type: string
|
|
description: ID of the destination account.
|
|
format: string
|
|
example: "258"
|
|
tags:
|
|
type: array
|
|
description: Array of tags.
|
|
nullable: true
|
|
items:
|
|
type: string
|
|
description: Tag.
|
|
format: string
|
|
example: Barbecue preparation
|
|
example: null
|
|
piggy_bank_id:
|
|
type: string
|
|
description: Optional.
|
|
format: string
|
|
nullable: true
|
|
example: "123"
|
|
bill_id:
|
|
type: string
|
|
description: Optional.
|
|
format: string
|
|
nullable: true
|
|
example: "123"
|
|
RecurrenceTransactionUpdate:
|
|
required:
|
|
- id
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: string
|
|
example: ID of the recurring transaction. Not to be confused with the ID
|
|
of the recurrence itself. Is marked as REQUIRED but can be skipped when
|
|
there is only ONE transaction.
|
|
description:
|
|
type: string
|
|
format: string
|
|
example: Rent for the current month
|
|
amount:
|
|
type: string
|
|
description: Amount of the transaction.
|
|
format: amount
|
|
example: "123.45"
|
|
foreign_amount:
|
|
type: string
|
|
description: Foreign amount of the transaction.
|
|
format: amount
|
|
nullable: true
|
|
example: "123.45"
|
|
currency_id:
|
|
type: string
|
|
description: Submit either a currency_id or a currency_code.
|
|
format: string
|
|
example: "3"
|
|
currency_code:
|
|
type: string
|
|
description: Submit either a currency_id or a currency_code.
|
|
format: string
|
|
example: EUR
|
|
foreign_currency_id:
|
|
type: string
|
|
description: "Submit either a foreign_currency_id or a foreign_currency_code,\
|
|
\ or neither."
|
|
format: string
|
|
nullable: true
|
|
example: "17"
|
|
budget_id:
|
|
type: string
|
|
description: The budget ID for this transaction.
|
|
format: string
|
|
example: "4"
|
|
category_id:
|
|
type: string
|
|
description: Category ID for this transaction.
|
|
format: string
|
|
example: "211"
|
|
source_id:
|
|
type: string
|
|
description: ID of the source account. Submit either this or source_name.
|
|
format: string
|
|
example: "913"
|
|
destination_id:
|
|
type: string
|
|
description: ID of the destination account. Submit either this or destination_name.
|
|
format: string
|
|
example: "258"
|
|
tags:
|
|
type: array
|
|
description: Array of tags.
|
|
nullable: true
|
|
items:
|
|
type: string
|
|
description: Tag.
|
|
format: string
|
|
example: Barbecue preparation
|
|
example: null
|
|
piggy_bank_id:
|
|
type: string
|
|
format: string
|
|
nullable: true
|
|
example: "123"
|
|
bill_id:
|
|
type: string
|
|
description: Optional.
|
|
format: string
|
|
nullable: true
|
|
example: "123"
|
|
Rule:
|
|
required:
|
|
- actions
|
|
- rule_group_id
|
|
- title
|
|
- trigger
|
|
- triggers
|
|
type: object
|
|
properties:
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
example: 2018-09-17T12:46:47+01:00
|
|
updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
example: 2018-09-17T12:46:47+01:00
|
|
title:
|
|
type: string
|
|
format: string
|
|
example: First rule title.
|
|
description:
|
|
type: string
|
|
format: string
|
|
example: First rule description
|
|
rule_group_id:
|
|
type: string
|
|
description: ID of the rule group under which the rule must be stored. Either
|
|
this field or rule_group_title is mandatory.
|
|
format: string
|
|
example: "81"
|
|
rule_group_title:
|
|
type: string
|
|
description: Title of the rule group under which the rule must be stored.
|
|
Either this field or rule_group_id is mandatory.
|
|
format: string
|
|
example: New rule group
|
|
order:
|
|
type: integer
|
|
format: int32
|
|
readOnly: true
|
|
example: 5
|
|
trigger:
|
|
$ref: '#/components/schemas/RuleTriggerType'
|
|
active:
|
|
type: boolean
|
|
description: Whether or not the rule is even active. Default is true.
|
|
format: boolean
|
|
example: true
|
|
default: true
|
|
strict:
|
|
type: boolean
|
|
description: "If the rule is set to be strict, ALL triggers must hit in\
|
|
\ order for the rule to fire. Otherwise, just one is enough. Default value\
|
|
\ is true."
|
|
format: boolean
|
|
example: true
|
|
stop_processing:
|
|
type: boolean
|
|
description: "If this value is true and the rule is triggered, other rules\
|
|
\ after this one in the group will be skipped. Default value is false."
|
|
format: boolean
|
|
example: false
|
|
default: false
|
|
triggers:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/RuleTrigger'
|
|
actions:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/RuleAction'
|
|
example:
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
description: First rule description
|
|
active: true
|
|
trigger: store-journal
|
|
title: First rule title.
|
|
rule_group_id: "81"
|
|
triggers:
|
|
- stop_processing: false
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
prohibited: false
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
active: true
|
|
id: "2"
|
|
type: user_action
|
|
value: tag1
|
|
order: 5
|
|
- stop_processing: false
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
prohibited: false
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
active: true
|
|
id: "2"
|
|
type: user_action
|
|
value: tag1
|
|
order: 5
|
|
stop_processing: false
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
rule_group_title: New rule group
|
|
strict: true
|
|
actions:
|
|
- stop_processing: false
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
active: true
|
|
id: "2"
|
|
type: set_category
|
|
value: Daily groceries
|
|
order: 5
|
|
- stop_processing: false
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
active: true
|
|
id: "2"
|
|
type: set_category
|
|
value: Daily groceries
|
|
order: 5
|
|
order: 5
|
|
RuleStore:
|
|
required:
|
|
- actions
|
|
- rule_group_id
|
|
- title
|
|
- trigger
|
|
- triggers
|
|
type: object
|
|
properties:
|
|
title:
|
|
type: string
|
|
format: string
|
|
example: First rule title.
|
|
description:
|
|
type: string
|
|
format: string
|
|
example: First rule description
|
|
rule_group_id:
|
|
type: string
|
|
description: ID of the rule group under which the rule must be stored. Either
|
|
this field or rule_group_title is mandatory.
|
|
format: string
|
|
example: "81"
|
|
rule_group_title:
|
|
type: string
|
|
description: Title of the rule group under which the rule must be stored.
|
|
Either this field or rule_group_id is mandatory.
|
|
format: string
|
|
example: New rule group
|
|
order:
|
|
type: integer
|
|
format: int32
|
|
example: 5
|
|
trigger:
|
|
$ref: '#/components/schemas/RuleTriggerType'
|
|
active:
|
|
type: boolean
|
|
description: Whether or not the rule is even active. Default is true.
|
|
format: boolean
|
|
example: true
|
|
default: true
|
|
strict:
|
|
type: boolean
|
|
description: "If the rule is set to be strict, ALL triggers must hit in\
|
|
\ order for the rule to fire. Otherwise, just one is enough. Default value\
|
|
\ is true."
|
|
format: boolean
|
|
example: true
|
|
default: true
|
|
stop_processing:
|
|
type: boolean
|
|
description: "If this value is true and the rule is triggered, other rules\
|
|
\ after this one in the group will be skipped. Default value is false."
|
|
format: boolean
|
|
example: false
|
|
triggers:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/RuleTriggerStore'
|
|
actions:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/RuleActionStore'
|
|
RuleUpdate:
|
|
type: object
|
|
properties:
|
|
title:
|
|
type: string
|
|
format: string
|
|
example: First rule title.
|
|
description:
|
|
type: string
|
|
format: string
|
|
example: First rule description
|
|
rule_group_id:
|
|
type: string
|
|
description: ID of the rule group under which the rule must be stored. Either
|
|
this field or rule_group_title is mandatory.
|
|
format: string
|
|
example: "81"
|
|
order:
|
|
type: integer
|
|
format: int32
|
|
example: 5
|
|
trigger:
|
|
$ref: '#/components/schemas/RuleTriggerType'
|
|
active:
|
|
type: boolean
|
|
description: Whether or not the rule is even active. Default is true.
|
|
format: boolean
|
|
example: true
|
|
default: true
|
|
strict:
|
|
type: boolean
|
|
description: "If the rule is set to be strict, ALL triggers must hit in\
|
|
\ order for the rule to fire. Otherwise, just one is enough. Default value\
|
|
\ is true."
|
|
format: boolean
|
|
example: true
|
|
stop_processing:
|
|
type: boolean
|
|
description: "If this value is true and the rule is triggered, other rules\
|
|
\ after this one in the group will be skipped. Default value is false."
|
|
format: boolean
|
|
example: false
|
|
default: false
|
|
triggers:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/RuleTriggerUpdate'
|
|
actions:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/RuleActionUpdate'
|
|
RuleAction:
|
|
required:
|
|
- type
|
|
- value
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: string
|
|
readOnly: true
|
|
example: "2"
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
example: 2018-09-17T12:46:47+01:00
|
|
updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
example: 2018-09-17T12:46:47+01:00
|
|
type:
|
|
$ref: '#/components/schemas/RuleActionKeyword'
|
|
value:
|
|
type: string
|
|
description: "The accompanying value the action will set, change or update.\
|
|
\ Can be empty, but for some types this value is mandatory."
|
|
format: string
|
|
nullable: true
|
|
example: Daily groceries
|
|
order:
|
|
type: integer
|
|
description: Order of the action
|
|
format: int32
|
|
example: 5
|
|
active:
|
|
type: boolean
|
|
description: If the action is active. Defaults to true.
|
|
format: boolean
|
|
example: true
|
|
default: true
|
|
stop_processing:
|
|
type: boolean
|
|
description: "When true, other actions will not be fired after this action\
|
|
\ has fired. Defaults to false."
|
|
format: boolean
|
|
example: false
|
|
default: false
|
|
example:
|
|
stop_processing: false
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
active: true
|
|
id: "2"
|
|
type: set_category
|
|
value: Daily groceries
|
|
order: 5
|
|
RuleActionStore:
|
|
required:
|
|
- type
|
|
- value
|
|
type: object
|
|
properties:
|
|
type:
|
|
$ref: '#/components/schemas/RuleActionKeyword'
|
|
value:
|
|
type: string
|
|
description: "The accompanying value the action will set, change or update.\
|
|
\ Can be empty, but for some types this value is mandatory."
|
|
format: string
|
|
nullable: true
|
|
example: Daily groceries
|
|
order:
|
|
type: integer
|
|
description: Order of the action
|
|
format: int32
|
|
example: 5
|
|
active:
|
|
type: boolean
|
|
description: If the action is active. Defaults to true.
|
|
format: boolean
|
|
example: true
|
|
default: true
|
|
stop_processing:
|
|
type: boolean
|
|
description: "When true, other actions will not be fired after this action\
|
|
\ has fired. Defaults to false."
|
|
format: boolean
|
|
example: false
|
|
default: false
|
|
RuleActionUpdate:
|
|
type: object
|
|
properties:
|
|
type:
|
|
$ref: '#/components/schemas/RuleActionKeyword'
|
|
value:
|
|
type: string
|
|
description: "The accompanying value the action will set, change or update.\
|
|
\ Can be empty, but for some types this value is mandatory."
|
|
format: string
|
|
nullable: true
|
|
example: Daily groceries
|
|
order:
|
|
type: integer
|
|
description: Order of the action
|
|
format: int32
|
|
example: 5
|
|
active:
|
|
type: boolean
|
|
description: If the action is active.
|
|
format: boolean
|
|
example: true
|
|
stop_processing:
|
|
type: boolean
|
|
description: "When true, other actions will not be fired after this action\
|
|
\ has fired."
|
|
format: boolean
|
|
example: false
|
|
RuleGroup:
|
|
required:
|
|
- title
|
|
type: object
|
|
properties:
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
example: 2018-09-17T12:46:47+01:00
|
|
updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
example: 2018-09-17T12:46:47+01:00
|
|
title:
|
|
type: string
|
|
format: string
|
|
example: Default rule group
|
|
description:
|
|
type: string
|
|
format: string
|
|
nullable: true
|
|
example: Description of this rule group
|
|
order:
|
|
type: integer
|
|
format: int32
|
|
readOnly: true
|
|
example: 4
|
|
active:
|
|
type: boolean
|
|
format: boolean
|
|
example: true
|
|
example:
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
description: Description of this rule group
|
|
active: true
|
|
title: Default rule group
|
|
order: 4
|
|
RuleGroupStore:
|
|
required:
|
|
- title
|
|
type: object
|
|
properties:
|
|
title:
|
|
type: string
|
|
format: string
|
|
example: Default rule group
|
|
description:
|
|
type: string
|
|
format: string
|
|
nullable: true
|
|
example: Description of this rule group
|
|
order:
|
|
type: integer
|
|
format: int32
|
|
example: 4
|
|
active:
|
|
type: boolean
|
|
format: boolean
|
|
example: true
|
|
RuleGroupUpdate:
|
|
type: object
|
|
properties:
|
|
title:
|
|
type: string
|
|
format: string
|
|
example: Default rule group
|
|
description:
|
|
type: string
|
|
format: string
|
|
nullable: true
|
|
example: Description of this rule group
|
|
order:
|
|
type: integer
|
|
format: int32
|
|
example: 4
|
|
active:
|
|
type: boolean
|
|
format: boolean
|
|
example: true
|
|
RuleTrigger:
|
|
required:
|
|
- type
|
|
- value
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: string
|
|
readOnly: true
|
|
example: "2"
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
example: 2018-09-17T12:46:47+01:00
|
|
updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
example: 2018-09-17T12:46:47+01:00
|
|
type:
|
|
$ref: '#/components/schemas/RuleTriggerKeyword'
|
|
value:
|
|
type: string
|
|
description: "The accompanying value the trigger responds to. This value\
|
|
\ is often mandatory, but this depends on the trigger."
|
|
format: string
|
|
example: tag1
|
|
prohibited:
|
|
type: boolean
|
|
description: "If 'prohibited' is true, this rule trigger will be negated.\
|
|
\ 'Description is' will become 'Description is NOT' etc."
|
|
format: boolean
|
|
example: false
|
|
default: false
|
|
order:
|
|
type: integer
|
|
description: Order of the trigger
|
|
format: int32
|
|
readOnly: true
|
|
example: 5
|
|
active:
|
|
type: boolean
|
|
description: If the trigger is active. Defaults to true.
|
|
format: boolean
|
|
example: true
|
|
default: true
|
|
stop_processing:
|
|
type: boolean
|
|
description: "When true, other triggers will not be checked if this trigger\
|
|
\ was triggered. Defaults to false."
|
|
format: boolean
|
|
example: false
|
|
default: false
|
|
example:
|
|
stop_processing: false
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
prohibited: false
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
active: true
|
|
id: "2"
|
|
type: user_action
|
|
value: tag1
|
|
order: 5
|
|
RuleTriggerStore:
|
|
required:
|
|
- type
|
|
- value
|
|
type: object
|
|
properties:
|
|
type:
|
|
$ref: '#/components/schemas/RuleTriggerKeyword'
|
|
value:
|
|
type: string
|
|
description: "The accompanying value the trigger responds to. This value\
|
|
\ is often mandatory, but this depends on the trigger."
|
|
format: string
|
|
example: tag1
|
|
order:
|
|
type: integer
|
|
description: Order of the trigger
|
|
format: int32
|
|
example: 5
|
|
active:
|
|
type: boolean
|
|
description: If the trigger is active. Defaults to true.
|
|
format: boolean
|
|
example: true
|
|
default: true
|
|
prohibited:
|
|
type: boolean
|
|
description: "If 'prohibited' is true, this rule trigger will be negated.\
|
|
\ 'Description is' will become 'Description is NOT' etc."
|
|
format: boolean
|
|
example: false
|
|
default: false
|
|
stop_processing:
|
|
type: boolean
|
|
description: "When true, other triggers will not be checked if this trigger\
|
|
\ was triggered. Defaults to false."
|
|
format: boolean
|
|
example: false
|
|
default: false
|
|
RuleTriggerUpdate:
|
|
type: object
|
|
properties:
|
|
type:
|
|
$ref: '#/components/schemas/RuleTriggerKeyword'
|
|
value:
|
|
type: string
|
|
description: "The accompanying value the trigger responds to. This value\
|
|
\ is often mandatory, but this depends on the trigger. If the rule trigger\
|
|
\ is something like 'has any tag', submit the string 'true'."
|
|
format: string
|
|
example: tag1
|
|
order:
|
|
type: integer
|
|
description: Order of the trigger
|
|
format: int32
|
|
example: 5
|
|
active:
|
|
type: boolean
|
|
description: If the trigger is active.
|
|
format: boolean
|
|
example: true
|
|
stop_processing:
|
|
type: boolean
|
|
description: "When true, other triggers will not be checked if this trigger\
|
|
\ was triggered."
|
|
format: boolean
|
|
example: false
|
|
TagModel:
|
|
title: A single tag
|
|
required:
|
|
- tag
|
|
type: object
|
|
properties:
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
example: 2018-09-17T12:46:47+01:00
|
|
updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
example: 2018-09-17T12:46:47+01:00
|
|
tag:
|
|
type: string
|
|
description: The tag
|
|
format: string
|
|
example: expensive
|
|
date:
|
|
type: string
|
|
description: The date to which the tag is applicable.
|
|
format: date
|
|
nullable: true
|
|
example: 2018-09-17
|
|
description:
|
|
type: string
|
|
format: string
|
|
nullable: true
|
|
example: Tag for expensive stuff
|
|
latitude:
|
|
type: number
|
|
description: "Latitude of the tag's location, if applicable. Can be used\
|
|
\ to draw a map."
|
|
format: double
|
|
nullable: true
|
|
example: 51.983333
|
|
longitude:
|
|
type: number
|
|
description: "Latitude of the tag's location, if applicable. Can be used\
|
|
\ to draw a map."
|
|
format: double
|
|
nullable: true
|
|
example: 5.916667
|
|
zoom_level:
|
|
type: integer
|
|
description: "Zoom level for the map, if drawn. This to set the box right.\
|
|
\ Unfortunately this is a proprietary value because each map provider\
|
|
\ has different zoom levels."
|
|
format: int32
|
|
nullable: true
|
|
example: 6
|
|
example:
|
|
date: 2018-09-17T00:00:00.000+00:00
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
latitude: 51.983333
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
description: Tag for expensive stuff
|
|
tag: expensive
|
|
zoom_level: 6
|
|
longitude: 5.916667
|
|
TagModelStore:
|
|
title: A single tag
|
|
required:
|
|
- tag
|
|
type: object
|
|
properties:
|
|
tag:
|
|
type: string
|
|
description: The tag
|
|
format: string
|
|
example: expensive
|
|
date:
|
|
type: string
|
|
description: The date to which the tag is applicable.
|
|
format: date
|
|
nullable: true
|
|
example: 2018-09-17
|
|
description:
|
|
type: string
|
|
format: string
|
|
nullable: true
|
|
example: Tag for expensive stuff
|
|
latitude:
|
|
type: number
|
|
description: "Latitude of the tag's location, if applicable. Can be used\
|
|
\ to draw a map."
|
|
format: double
|
|
nullable: true
|
|
example: 51.983333
|
|
longitude:
|
|
type: number
|
|
description: "Latitude of the tag's location, if applicable. Can be used\
|
|
\ to draw a map."
|
|
format: double
|
|
nullable: true
|
|
example: 5.916667
|
|
zoom_level:
|
|
type: integer
|
|
description: "Zoom level for the map, if drawn. This to set the box right.\
|
|
\ Unfortunately this is a proprietary value because each map provider\
|
|
\ has different zoom levels."
|
|
format: int32
|
|
nullable: true
|
|
example: 6
|
|
TagModelUpdate:
|
|
title: A single tag
|
|
type: object
|
|
properties:
|
|
tag:
|
|
type: string
|
|
description: The tag
|
|
format: string
|
|
example: expensive
|
|
date:
|
|
type: string
|
|
description: The date to which the tag is applicable.
|
|
format: date
|
|
nullable: true
|
|
example: 2018-09-17
|
|
description:
|
|
type: string
|
|
format: string
|
|
nullable: true
|
|
example: Tag for expensive stuff
|
|
latitude:
|
|
type: number
|
|
description: "Latitude of the tag's location, if applicable. Can be used\
|
|
\ to draw a map."
|
|
format: double
|
|
nullable: true
|
|
example: 51.983333
|
|
longitude:
|
|
type: number
|
|
description: "Latitude of the tag's location, if applicable. Can be used\
|
|
\ to draw a map."
|
|
format: double
|
|
nullable: true
|
|
example: 5.916667
|
|
zoom_level:
|
|
type: integer
|
|
description: "Zoom level for the map, if drawn. This to set the box right.\
|
|
\ Unfortunately this is a proprietary value because each map provider\
|
|
\ has different zoom levels."
|
|
format: int32
|
|
nullable: true
|
|
example: 6
|
|
Currency:
|
|
required:
|
|
- code
|
|
- name
|
|
- symbol
|
|
type: object
|
|
properties:
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
example: 2018-09-17T12:46:47+01:00
|
|
updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
example: 2018-09-17T12:46:47+01:00
|
|
enabled:
|
|
type: boolean
|
|
description: Defaults to true
|
|
format: boolean
|
|
example: true
|
|
default: true
|
|
default:
|
|
type: boolean
|
|
description: Make this currency the default currency.
|
|
format: boolean
|
|
example: false
|
|
code:
|
|
type: string
|
|
format: string
|
|
example: AMS
|
|
name:
|
|
type: string
|
|
format: string
|
|
example: Ankh-Morpork dollar
|
|
symbol:
|
|
type: string
|
|
format: string
|
|
example: AM$
|
|
decimal_places:
|
|
type: integer
|
|
description: Supports 0-16 decimals.
|
|
format: int32
|
|
example: 2
|
|
example:
|
|
symbol: AM$
|
|
default: false
|
|
code: AMS
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
name: Ankh-Morpork dollar
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
enabled: true
|
|
decimal_places: 2
|
|
CurrencyStore:
|
|
required:
|
|
- code
|
|
- name
|
|
- symbol
|
|
type: object
|
|
properties:
|
|
enabled:
|
|
type: boolean
|
|
description: Defaults to true
|
|
format: boolean
|
|
example: true
|
|
default: true
|
|
default:
|
|
type: boolean
|
|
description: "Make this currency the default currency. You can set this\
|
|
\ value to FALSE, in which case nothing will change to the default currency.\
|
|
\ If you set it to TRUE, the current default currency will no longer be\
|
|
\ the default currency."
|
|
format: boolean
|
|
example: true
|
|
code:
|
|
type: string
|
|
format: string
|
|
example: AMS
|
|
name:
|
|
type: string
|
|
format: string
|
|
example: Ankh-Morpork dollar
|
|
symbol:
|
|
type: string
|
|
format: string
|
|
example: AM$
|
|
decimal_places:
|
|
type: integer
|
|
description: Supports 0-16 decimals.
|
|
format: int32
|
|
example: 2
|
|
CurrencyUpdate:
|
|
type: object
|
|
properties:
|
|
enabled:
|
|
type: boolean
|
|
description: If the currency is enabled
|
|
format: boolean
|
|
example: true
|
|
default:
|
|
type: boolean
|
|
description: "If the currency must be the default for the user. You can\
|
|
\ only submit TRUE. Submitting FALSE will not drop this currency as the\
|
|
\ default currency, because then the system would be without one."
|
|
format: boolean
|
|
example: true
|
|
enum:
|
|
- true
|
|
code:
|
|
type: string
|
|
description: The currency code
|
|
format: string
|
|
example: AMS
|
|
name:
|
|
type: string
|
|
description: The currency name
|
|
format: string
|
|
example: Ankh-Morpork dollar
|
|
symbol:
|
|
type: string
|
|
description: The currency symbol
|
|
format: string
|
|
example: AM$
|
|
decimal_places:
|
|
type: integer
|
|
description: How many decimals to use when displaying this currency. Between
|
|
0 and 16.
|
|
format: int32
|
|
example: 2
|
|
Transaction:
|
|
required:
|
|
- transactions
|
|
type: object
|
|
properties:
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
example: 2018-09-17T12:46:47+01:00
|
|
updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
example: 2018-09-17T12:46:47+01:00
|
|
user:
|
|
type: string
|
|
description: User ID
|
|
format: string
|
|
readOnly: true
|
|
example: "3"
|
|
group_title:
|
|
type: string
|
|
description: Title of the transaction if it has been split in more than
|
|
one piece. Empty otherwise.
|
|
format: string
|
|
nullable: true
|
|
readOnly: false
|
|
example: Split transaction title.
|
|
transactions:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/TransactionSplit'
|
|
example:
|
|
group_title: Split transaction title.
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
transactions:
|
|
- date: 2018-09-17T12:46:47+01:00
|
|
category_name: Groceries
|
|
notes: Some example notes
|
|
sepa_batch_id: sepa_batch_id
|
|
destination_id: "2"
|
|
zoom_level: 6
|
|
type: withdrawal
|
|
destination_type: null
|
|
external_url: external_url
|
|
transaction_journal_id: "10421"
|
|
payment_date: 2000-01-23T04:56:07.000+00:00
|
|
order: 0
|
|
longitude: 5.916667
|
|
bill_id: "111"
|
|
foreign_currency_code: USD
|
|
reconciled: false
|
|
sepa_country: sepa_country
|
|
source_type: Asset account
|
|
foreign_currency_decimal_places: 2
|
|
bill_name: Monthly rent
|
|
original_source: original_source
|
|
sepa_ct_id: sepa_ct_id
|
|
tags:
|
|
- Barbecue preparation
|
|
- Barbecue preparation
|
|
foreign_amount: "123.45"
|
|
process_date: 2000-01-23T04:56:07.000+00:00
|
|
sepa_ep: sepa_ep
|
|
internal_reference: internal_reference
|
|
sepa_cc: sepa_cc
|
|
destination_iban: NL02ABNA0123456789
|
|
source_iban: NL02ABNA0123456789
|
|
budget_id: "4"
|
|
latitude: 51.983333
|
|
description: Vegetables
|
|
destination_name: Buy and Large
|
|
external_id: external_id
|
|
currency_code: EUR
|
|
import_hash_v2: import_hash_v2
|
|
currency_decimal_places: 2
|
|
invoice_date: 2000-01-23T04:56:07.000+00:00
|
|
category_id: "43"
|
|
foreign_currency_symbol: $
|
|
recurrence_id: recurrence_id
|
|
foreign_currency_id: "17"
|
|
source_name: Checking account
|
|
amount: "123.45"
|
|
budget_name: Groceries
|
|
currency_name: Euro
|
|
has_attachments: false
|
|
currency_symbol: $
|
|
interest_date: 2000-01-23T04:56:07.000+00:00
|
|
sepa_db: sepa_db
|
|
due_date: 2000-01-23T04:56:07.000+00:00
|
|
recurrence_total: 0
|
|
book_date: 2000-01-23T04:56:07.000+00:00
|
|
recurrence_count: 12
|
|
bunq_payment_id: bunq_payment_id
|
|
sepa_ct_op: sepa_ct_op
|
|
source_id: "2"
|
|
user: "3"
|
|
currency_id: "12"
|
|
sepa_ci: sepa_ci
|
|
- date: 2018-09-17T12:46:47+01:00
|
|
category_name: Groceries
|
|
notes: Some example notes
|
|
sepa_batch_id: sepa_batch_id
|
|
destination_id: "2"
|
|
zoom_level: 6
|
|
type: withdrawal
|
|
destination_type: null
|
|
external_url: external_url
|
|
transaction_journal_id: "10421"
|
|
payment_date: 2000-01-23T04:56:07.000+00:00
|
|
order: 0
|
|
longitude: 5.916667
|
|
bill_id: "111"
|
|
foreign_currency_code: USD
|
|
reconciled: false
|
|
sepa_country: sepa_country
|
|
source_type: Asset account
|
|
foreign_currency_decimal_places: 2
|
|
bill_name: Monthly rent
|
|
original_source: original_source
|
|
sepa_ct_id: sepa_ct_id
|
|
tags:
|
|
- Barbecue preparation
|
|
- Barbecue preparation
|
|
foreign_amount: "123.45"
|
|
process_date: 2000-01-23T04:56:07.000+00:00
|
|
sepa_ep: sepa_ep
|
|
internal_reference: internal_reference
|
|
sepa_cc: sepa_cc
|
|
destination_iban: NL02ABNA0123456789
|
|
source_iban: NL02ABNA0123456789
|
|
budget_id: "4"
|
|
latitude: 51.983333
|
|
description: Vegetables
|
|
destination_name: Buy and Large
|
|
external_id: external_id
|
|
currency_code: EUR
|
|
import_hash_v2: import_hash_v2
|
|
currency_decimal_places: 2
|
|
invoice_date: 2000-01-23T04:56:07.000+00:00
|
|
category_id: "43"
|
|
foreign_currency_symbol: $
|
|
recurrence_id: recurrence_id
|
|
foreign_currency_id: "17"
|
|
source_name: Checking account
|
|
amount: "123.45"
|
|
budget_name: Groceries
|
|
currency_name: Euro
|
|
has_attachments: false
|
|
currency_symbol: $
|
|
interest_date: 2000-01-23T04:56:07.000+00:00
|
|
sepa_db: sepa_db
|
|
due_date: 2000-01-23T04:56:07.000+00:00
|
|
recurrence_total: 0
|
|
book_date: 2000-01-23T04:56:07.000+00:00
|
|
recurrence_count: 12
|
|
bunq_payment_id: bunq_payment_id
|
|
sepa_ct_op: sepa_ct_op
|
|
source_id: "2"
|
|
user: "3"
|
|
currency_id: "12"
|
|
sepa_ci: sepa_ci
|
|
user: "3"
|
|
TransactionStore:
|
|
required:
|
|
- transactions
|
|
type: object
|
|
properties:
|
|
error_if_duplicate_hash:
|
|
type: boolean
|
|
description: Break if the submitted transaction exists already.
|
|
format: boolean
|
|
example: false
|
|
apply_rules:
|
|
type: boolean
|
|
description: Whether or not to apply rules when submitting transaction.
|
|
format: boolean
|
|
example: false
|
|
fire_webhooks:
|
|
type: boolean
|
|
description: Whether or not to fire the webhooks that are related to this
|
|
event.
|
|
format: boolean
|
|
example: true
|
|
default: true
|
|
group_title:
|
|
type: string
|
|
description: Title of the transaction if it has been split in more than
|
|
one piece. Empty otherwise.
|
|
format: string
|
|
nullable: true
|
|
example: Split transaction title.
|
|
transactions:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/TransactionSplitStore'
|
|
TransactionUpdate:
|
|
type: object
|
|
properties:
|
|
apply_rules:
|
|
type: boolean
|
|
description: Whether or not to apply rules when submitting transaction.
|
|
format: boolean
|
|
example: false
|
|
fire_webhooks:
|
|
type: boolean
|
|
description: Whether or not to fire the webhooks that are related to this
|
|
event.
|
|
format: boolean
|
|
example: true
|
|
default: true
|
|
group_title:
|
|
type: string
|
|
description: Title of the transaction if it has been split in more than
|
|
one piece. Empty otherwise.
|
|
format: string
|
|
nullable: true
|
|
example: Split transaction title.
|
|
transactions:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/TransactionSplitUpdate'
|
|
TransactionLink:
|
|
required:
|
|
- inward_id
|
|
- link_type_id
|
|
- outward_id
|
|
type: object
|
|
properties:
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
example: 2018-09-17T12:46:47+01:00
|
|
updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
example: 2018-09-17T12:46:47+01:00
|
|
link_type_id:
|
|
type: string
|
|
description: The link type ID to use. You can also use the link_type_name
|
|
field.
|
|
format: string
|
|
writeOnly: true
|
|
example: "5"
|
|
link_type_name:
|
|
type: string
|
|
description: The link type name to use. You can also use the link_type_id
|
|
field.
|
|
format: string
|
|
writeOnly: true
|
|
example: Is paid by
|
|
inward_id:
|
|
type: string
|
|
description: The inward transaction transaction_journal_id for the link.
|
|
This becomes the 'is paid by' transaction of the set.
|
|
format: string
|
|
example: "131"
|
|
outward_id:
|
|
type: string
|
|
description: The outward transaction transaction_journal_id for the link.
|
|
This becomes the 'pays for' transaction of the set.
|
|
format: string
|
|
example: "131"
|
|
notes:
|
|
type: string
|
|
description: Optional. Some notes.
|
|
format: string
|
|
nullable: true
|
|
example: Some example notes
|
|
example:
|
|
notes: Some example notes
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
link_type_id: "5"
|
|
link_type_name: Is paid by
|
|
outward_id: "131"
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
inward_id: "131"
|
|
TransactionLinkStore:
|
|
required:
|
|
- inward_id
|
|
- link_type_id
|
|
- outward_id
|
|
type: object
|
|
properties:
|
|
link_type_id:
|
|
type: string
|
|
description: The link type ID to use. You can also use the link_type_name
|
|
field.
|
|
format: string
|
|
writeOnly: true
|
|
example: "5"
|
|
link_type_name:
|
|
type: string
|
|
description: The link type name to use. You can also use the link_type_id
|
|
field.
|
|
format: string
|
|
writeOnly: true
|
|
example: Is paid by
|
|
inward_id:
|
|
type: string
|
|
description: The inward transaction transaction_journal_id for the link.
|
|
This becomes the 'is paid by' transaction of the set.
|
|
format: string
|
|
example: "131"
|
|
outward_id:
|
|
type: string
|
|
description: The outward transaction transaction_journal_id for the link.
|
|
This becomes the 'pays for' transaction of the set.
|
|
format: string
|
|
example: "131"
|
|
notes:
|
|
type: string
|
|
description: Optional. Some notes.
|
|
format: string
|
|
nullable: true
|
|
example: Some example notes
|
|
TransactionLinkUpdate:
|
|
type: object
|
|
properties:
|
|
link_type_id:
|
|
type: string
|
|
description: The link type ID to use. Use this field OR use the link_type_name
|
|
field.
|
|
format: string
|
|
writeOnly: true
|
|
example: "5"
|
|
link_type_name:
|
|
type: string
|
|
description: The link type name to use. Use this field OR use the link_type_id
|
|
field.
|
|
format: string
|
|
writeOnly: true
|
|
example: Is paid by
|
|
inward_id:
|
|
type: string
|
|
description: The inward transaction transaction_journal_id for the link.
|
|
This becomes the 'is paid by' transaction of the set.
|
|
format: string
|
|
example: "131"
|
|
outward_id:
|
|
type: string
|
|
description: The outward transaction transaction_journal_id for the link.
|
|
This becomes the 'pays for' transaction of the set.
|
|
format: string
|
|
example: "131"
|
|
notes:
|
|
type: string
|
|
description: Optional. Some notes. If you submit an empty string the current
|
|
notes will be removed
|
|
format: string
|
|
nullable: true
|
|
example: Some example notes
|
|
LinkType:
|
|
required:
|
|
- inward
|
|
- name
|
|
- outward
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
format: string
|
|
example: Paid
|
|
inward:
|
|
type: string
|
|
format: string
|
|
example: is (partially) paid for by
|
|
outward:
|
|
type: string
|
|
format: string
|
|
example: (partially) pays for
|
|
editable:
|
|
type: boolean
|
|
format: boolean
|
|
readOnly: true
|
|
example: false
|
|
example:
|
|
inward: is (partially) paid for by
|
|
editable: false
|
|
name: Paid
|
|
outward: (partially) pays for
|
|
LinkTypeUpdate:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
format: string
|
|
example: Paid
|
|
inward:
|
|
type: string
|
|
format: string
|
|
example: is (partially) paid for by
|
|
outward:
|
|
type: string
|
|
format: string
|
|
example: (partially) pays for
|
|
TransactionSplit:
|
|
required:
|
|
- amount
|
|
- date
|
|
- description
|
|
- destination_id
|
|
- source_id
|
|
- type
|
|
type: object
|
|
properties:
|
|
user:
|
|
type: string
|
|
description: User ID
|
|
format: string
|
|
readOnly: true
|
|
example: "3"
|
|
transaction_journal_id:
|
|
type: string
|
|
description: |
|
|
ID of the underlying transaction journal. Each transaction consists of a transaction group (see the top ID) and one or more journals
|
|
making up the splits of the transaction.
|
|
format: string
|
|
readOnly: true
|
|
example: "10421"
|
|
type:
|
|
$ref: '#/components/schemas/TransactionTypeProperty'
|
|
date:
|
|
type: string
|
|
description: Date of the transaction
|
|
format: date-time
|
|
example: 2018-09-17T12:46:47+01:00
|
|
order:
|
|
type: integer
|
|
description: Order of this entry in the list of transactions.
|
|
format: int32
|
|
nullable: true
|
|
example: 0
|
|
currency_id:
|
|
type: string
|
|
description: "Currency ID. Default is the source account's currency, or\
|
|
\ the user's default currency. Can be used instead of currency_code."
|
|
format: string
|
|
nullable: true
|
|
example: "12"
|
|
currency_code:
|
|
type: string
|
|
description: "Currency code. Default is the source account's currency, or\
|
|
\ the user's default currency. Can be used instead of currency_id."
|
|
format: string
|
|
nullable: true
|
|
example: EUR
|
|
currency_symbol:
|
|
type: string
|
|
format: string
|
|
readOnly: true
|
|
example: $
|
|
currency_name:
|
|
type: string
|
|
format: string
|
|
readOnly: true
|
|
example: Euro
|
|
currency_decimal_places:
|
|
type: integer
|
|
description: Number of decimals used in this currency.
|
|
format: int32
|
|
readOnly: true
|
|
example: 2
|
|
foreign_currency_id:
|
|
type: string
|
|
description: Currency ID of the foreign currency. Default is null. Is required
|
|
when you submit a foreign amount.
|
|
format: string
|
|
nullable: true
|
|
example: "17"
|
|
foreign_currency_code:
|
|
type: string
|
|
description: "Currency code of the foreign currency. Default is NULL. Can\
|
|
\ be used instead of the foreign_currency_id, but this or the ID is required\
|
|
\ when submitting a foreign amount."
|
|
format: string
|
|
nullable: true
|
|
example: USD
|
|
foreign_currency_symbol:
|
|
type: string
|
|
format: string
|
|
nullable: true
|
|
readOnly: true
|
|
example: $
|
|
foreign_currency_decimal_places:
|
|
type: integer
|
|
description: Number of decimals in the currency
|
|
format: int32
|
|
nullable: true
|
|
readOnly: true
|
|
example: 2
|
|
amount:
|
|
type: string
|
|
description: Amount of the transaction.
|
|
format: amount
|
|
example: "123.45"
|
|
foreign_amount:
|
|
type: string
|
|
description: The amount in a foreign currency.
|
|
format: amount
|
|
nullable: true
|
|
example: "123.45"
|
|
description:
|
|
type: string
|
|
description: Description of the transaction.
|
|
format: string
|
|
example: Vegetables
|
|
source_id:
|
|
type: string
|
|
description: "ID of the source account. For a withdrawal or a transfer,\
|
|
\ this must always be an asset account. For deposits, this must be a revenue\
|
|
\ account."
|
|
format: string
|
|
nullable: true
|
|
example: "2"
|
|
source_name:
|
|
type: string
|
|
description: "Name of the source account. For a withdrawal or a transfer,\
|
|
\ this must always be an asset account. For deposits, this must be a revenue\
|
|
\ account. Can be used instead of the source_id. If the transaction is\
|
|
\ a deposit, the source_name can be filled in freely: the account will\
|
|
\ be created based on the name."
|
|
format: string
|
|
nullable: true
|
|
example: Checking account
|
|
source_iban:
|
|
type: string
|
|
format: string
|
|
nullable: true
|
|
readOnly: true
|
|
example: NL02ABNA0123456789
|
|
source_type:
|
|
$ref: '#/components/schemas/AccountTypeProperty'
|
|
destination_id:
|
|
type: string
|
|
description: "ID of the destination account. For a deposit or a transfer,\
|
|
\ this must always be an asset account. For withdrawals this must be an\
|
|
\ expense account."
|
|
format: string
|
|
nullable: true
|
|
example: "2"
|
|
destination_name:
|
|
type: string
|
|
description: "Name of the destination account. You can submit the name instead\
|
|
\ of the ID. For everything except transfers, the account will be auto-generated\
|
|
\ if unknown, so submitting a name is enough."
|
|
format: string
|
|
nullable: true
|
|
example: Buy and Large
|
|
destination_iban:
|
|
type: string
|
|
format: string
|
|
nullable: true
|
|
readOnly: true
|
|
example: NL02ABNA0123456789
|
|
destination_type:
|
|
$ref: '#/components/schemas/AccountTypeProperty'
|
|
budget_id:
|
|
type: string
|
|
description: The budget ID for this transaction.
|
|
format: string
|
|
nullable: true
|
|
example: "4"
|
|
budget_name:
|
|
type: string
|
|
description: "The name of the budget to be used. If the budget name is unknown,\
|
|
\ the ID will be used or the value will be ignored."
|
|
format: string
|
|
nullable: true
|
|
readOnly: true
|
|
example: Groceries
|
|
category_id:
|
|
type: string
|
|
description: The category ID for this transaction.
|
|
format: string
|
|
nullable: true
|
|
example: "43"
|
|
category_name:
|
|
type: string
|
|
description: "The name of the category to be used. If the category is unknown,\
|
|
\ it will be created. If the ID and the name point to different categories,\
|
|
\ the ID overrules the name."
|
|
format: string
|
|
nullable: true
|
|
example: Groceries
|
|
bill_id:
|
|
type: string
|
|
description: Optional. Use either this or the bill_name
|
|
format: string
|
|
nullable: true
|
|
example: "111"
|
|
bill_name:
|
|
type: string
|
|
description: Optional. Use either this or the bill_id
|
|
format: string
|
|
nullable: true
|
|
example: Monthly rent
|
|
reconciled:
|
|
type: boolean
|
|
description: "If the transaction has been reconciled already. When you set\
|
|
\ this, the amount can no longer be edited by the user."
|
|
format: boolean
|
|
example: false
|
|
notes:
|
|
type: string
|
|
format: string
|
|
nullable: true
|
|
example: Some example notes
|
|
tags:
|
|
type: array
|
|
description: Array of tags.
|
|
nullable: true
|
|
items:
|
|
type: string
|
|
description: Tag.
|
|
format: string
|
|
example: Barbecue preparation
|
|
example: null
|
|
internal_reference:
|
|
type: string
|
|
description: Reference to internal reference of other systems.
|
|
format: string
|
|
nullable: true
|
|
external_id:
|
|
type: string
|
|
description: Reference to external ID in other systems.
|
|
format: string
|
|
nullable: true
|
|
external_url:
|
|
type: string
|
|
description: "External, custom URL for this transaction."
|
|
format: string
|
|
nullable: true
|
|
original_source:
|
|
type: string
|
|
description: System generated identifier for original creator of transaction.
|
|
format: string
|
|
nullable: true
|
|
readOnly: true
|
|
recurrence_id:
|
|
type: string
|
|
description: Reference to recurrence that made the transaction.
|
|
format: string
|
|
nullable: true
|
|
readOnly: true
|
|
recurrence_total:
|
|
type: integer
|
|
description: Total number of transactions expected to be created by this
|
|
recurrence repetition. Will be 0 if infinite.
|
|
format: int32
|
|
nullable: true
|
|
readOnly: true
|
|
example: 0
|
|
recurrence_count:
|
|
type: integer
|
|
description: "The # of the current transaction created under this recurrence."
|
|
format: int32
|
|
nullable: true
|
|
readOnly: true
|
|
example: 12
|
|
bunq_payment_id:
|
|
type: string
|
|
description: Internal ID of bunq transaction. DEPRECATED
|
|
format: string
|
|
nullable: true
|
|
import_hash_v2:
|
|
type: string
|
|
description: Hash value of original import transaction (for duplicate detection).
|
|
format: string
|
|
nullable: true
|
|
readOnly: true
|
|
sepa_cc:
|
|
type: string
|
|
description: SEPA Clearing Code
|
|
format: string
|
|
nullable: true
|
|
sepa_ct_op:
|
|
type: string
|
|
description: SEPA Opposing Account Identifier
|
|
format: string
|
|
nullable: true
|
|
sepa_ct_id:
|
|
type: string
|
|
description: SEPA end-to-end Identifier
|
|
format: string
|
|
nullable: true
|
|
sepa_db:
|
|
type: string
|
|
description: SEPA mandate identifier
|
|
format: string
|
|
nullable: true
|
|
sepa_country:
|
|
type: string
|
|
description: SEPA Country
|
|
format: string
|
|
nullable: true
|
|
sepa_ep:
|
|
type: string
|
|
description: SEPA External Purpose indicator
|
|
format: string
|
|
nullable: true
|
|
sepa_ci:
|
|
type: string
|
|
description: SEPA Creditor Identifier
|
|
format: string
|
|
nullable: true
|
|
sepa_batch_id:
|
|
type: string
|
|
description: SEPA Batch ID
|
|
format: string
|
|
nullable: true
|
|
interest_date:
|
|
type: string
|
|
format: date-time
|
|
nullable: true
|
|
book_date:
|
|
type: string
|
|
format: date-time
|
|
nullable: true
|
|
process_date:
|
|
type: string
|
|
format: date-time
|
|
nullable: true
|
|
due_date:
|
|
type: string
|
|
format: date-time
|
|
nullable: true
|
|
payment_date:
|
|
type: string
|
|
format: date-time
|
|
nullable: true
|
|
invoice_date:
|
|
type: string
|
|
format: date-time
|
|
nullable: true
|
|
latitude:
|
|
type: number
|
|
description: "Latitude of the transaction's location, if applicable. Can\
|
|
\ be used to draw a map."
|
|
format: double
|
|
nullable: true
|
|
example: 51.983333
|
|
longitude:
|
|
type: number
|
|
description: "Latitude of the transaction's location, if applicable. Can\
|
|
\ be used to draw a map."
|
|
format: double
|
|
nullable: true
|
|
example: 5.916667
|
|
zoom_level:
|
|
type: integer
|
|
description: "Zoom level for the map, if drawn. This to set the box right.\
|
|
\ Unfortunately this is a proprietary value because each map provider\
|
|
\ has different zoom levels."
|
|
format: int32
|
|
nullable: true
|
|
example: 6
|
|
has_attachments:
|
|
type: boolean
|
|
description: If the transaction has attachments.
|
|
format: boolean
|
|
example: false
|
|
example:
|
|
date: 2018-09-17T12:46:47+01:00
|
|
category_name: Groceries
|
|
notes: Some example notes
|
|
sepa_batch_id: sepa_batch_id
|
|
destination_id: "2"
|
|
zoom_level: 6
|
|
type: withdrawal
|
|
destination_type: null
|
|
external_url: external_url
|
|
transaction_journal_id: "10421"
|
|
payment_date: 2000-01-23T04:56:07.000+00:00
|
|
order: 0
|
|
longitude: 5.916667
|
|
bill_id: "111"
|
|
foreign_currency_code: USD
|
|
reconciled: false
|
|
sepa_country: sepa_country
|
|
source_type: Asset account
|
|
foreign_currency_decimal_places: 2
|
|
bill_name: Monthly rent
|
|
original_source: original_source
|
|
sepa_ct_id: sepa_ct_id
|
|
tags:
|
|
- Barbecue preparation
|
|
- Barbecue preparation
|
|
foreign_amount: "123.45"
|
|
process_date: 2000-01-23T04:56:07.000+00:00
|
|
sepa_ep: sepa_ep
|
|
internal_reference: internal_reference
|
|
sepa_cc: sepa_cc
|
|
destination_iban: NL02ABNA0123456789
|
|
source_iban: NL02ABNA0123456789
|
|
budget_id: "4"
|
|
latitude: 51.983333
|
|
description: Vegetables
|
|
destination_name: Buy and Large
|
|
external_id: external_id
|
|
currency_code: EUR
|
|
import_hash_v2: import_hash_v2
|
|
currency_decimal_places: 2
|
|
invoice_date: 2000-01-23T04:56:07.000+00:00
|
|
category_id: "43"
|
|
foreign_currency_symbol: $
|
|
recurrence_id: recurrence_id
|
|
foreign_currency_id: "17"
|
|
source_name: Checking account
|
|
amount: "123.45"
|
|
budget_name: Groceries
|
|
currency_name: Euro
|
|
has_attachments: false
|
|
currency_symbol: $
|
|
interest_date: 2000-01-23T04:56:07.000+00:00
|
|
sepa_db: sepa_db
|
|
due_date: 2000-01-23T04:56:07.000+00:00
|
|
recurrence_total: 0
|
|
book_date: 2000-01-23T04:56:07.000+00:00
|
|
recurrence_count: 12
|
|
bunq_payment_id: bunq_payment_id
|
|
sepa_ct_op: sepa_ct_op
|
|
source_id: "2"
|
|
user: "3"
|
|
currency_id: "12"
|
|
sepa_ci: sepa_ci
|
|
TransactionSplitStore:
|
|
required:
|
|
- amount
|
|
- date
|
|
- description
|
|
- type
|
|
type: object
|
|
properties:
|
|
type:
|
|
$ref: '#/components/schemas/TransactionTypeProperty'
|
|
date:
|
|
type: string
|
|
description: Date of the transaction
|
|
format: date-time
|
|
example: 2018-09-17T12:46:47+01:00
|
|
amount:
|
|
type: string
|
|
description: Amount of the transaction.
|
|
format: amount
|
|
example: "123.45"
|
|
description:
|
|
type: string
|
|
description: Description of the transaction.
|
|
format: string
|
|
example: Vegetables
|
|
order:
|
|
type: integer
|
|
description: Order of this entry in the list of transactions.
|
|
format: int32
|
|
nullable: true
|
|
example: 0
|
|
currency_id:
|
|
type: string
|
|
description: "Currency ID. Default is the source account's currency, or\
|
|
\ the user's default currency. The value you submit may be overruled by\
|
|
\ the source or destination account."
|
|
format: string
|
|
nullable: true
|
|
example: "12"
|
|
currency_code:
|
|
type: string
|
|
description: "Currency code. Default is the source account's currency, or\
|
|
\ the user's default currency. The value you submit may be overruled by\
|
|
\ the source or destination account."
|
|
format: string
|
|
nullable: true
|
|
example: EUR
|
|
foreign_amount:
|
|
type: string
|
|
description: The amount in a foreign currency.
|
|
format: amount
|
|
nullable: true
|
|
example: "123.45"
|
|
foreign_currency_id:
|
|
type: string
|
|
description: Currency ID of the foreign currency. Default is null. Is required
|
|
when you submit a foreign amount.
|
|
format: string
|
|
nullable: true
|
|
example: "17"
|
|
foreign_currency_code:
|
|
type: string
|
|
description: "Currency code of the foreign currency. Default is NULL. Can\
|
|
\ be used instead of the foreign_currency_id, but this or the ID is required\
|
|
\ when submitting a foreign amount."
|
|
format: string
|
|
nullable: true
|
|
example: USD
|
|
budget_id:
|
|
type: string
|
|
description: The budget ID for this transaction.
|
|
format: string
|
|
nullable: true
|
|
example: "4"
|
|
budget_name:
|
|
type: string
|
|
description: "The name of the budget to be used. If the budget name is unknown,\
|
|
\ the ID will be used or the value will be ignored."
|
|
format: string
|
|
nullable: true
|
|
readOnly: true
|
|
example: Groceries
|
|
category_id:
|
|
type: string
|
|
description: The category ID for this transaction.
|
|
format: string
|
|
nullable: true
|
|
example: "43"
|
|
category_name:
|
|
type: string
|
|
description: "The name of the category to be used. If the category is unknown,\
|
|
\ it will be created. If the ID and the name point to different categories,\
|
|
\ the ID overrules the name."
|
|
format: string
|
|
nullable: true
|
|
example: Groceries
|
|
source_id:
|
|
type: string
|
|
description: "ID of the source account. For a withdrawal or a transfer,\
|
|
\ this must always be an asset account. For deposits, this must be a revenue\
|
|
\ account."
|
|
format: string
|
|
nullable: true
|
|
example: "2"
|
|
source_name:
|
|
type: string
|
|
description: "Name of the source account. For a withdrawal or a transfer,\
|
|
\ this must always be an asset account. For deposits, this must be a revenue\
|
|
\ account. Can be used instead of the source_id. If the transaction is\
|
|
\ a deposit, the source_name can be filled in freely: the account will\
|
|
\ be created based on the name."
|
|
format: string
|
|
nullable: true
|
|
example: Checking account
|
|
destination_id:
|
|
type: string
|
|
description: "ID of the destination account. For a deposit or a transfer,\
|
|
\ this must always be an asset account. For withdrawals this must be an\
|
|
\ expense account."
|
|
format: string
|
|
nullable: true
|
|
example: "2"
|
|
destination_name:
|
|
type: string
|
|
description: "Name of the destination account. You can submit the name instead\
|
|
\ of the ID. For everything except transfers, the account will be auto-generated\
|
|
\ if unknown, so submitting a name is enough."
|
|
format: string
|
|
nullable: true
|
|
example: Buy and Large
|
|
reconciled:
|
|
type: boolean
|
|
description: "If the transaction has been reconciled already. When you set\
|
|
\ this, the amount can no longer be edited by the user."
|
|
format: boolean
|
|
example: false
|
|
piggy_bank_id:
|
|
type: integer
|
|
description: Optional. Use either this or the piggy_bank_name
|
|
format: int32
|
|
nullable: true
|
|
writeOnly: true
|
|
piggy_bank_name:
|
|
type: string
|
|
description: Optional. Use either this or the piggy_bank_id
|
|
format: string
|
|
nullable: true
|
|
writeOnly: true
|
|
bill_id:
|
|
type: string
|
|
description: Optional. Use either this or the bill_name
|
|
format: string
|
|
nullable: true
|
|
example: "112"
|
|
bill_name:
|
|
type: string
|
|
description: Optional. Use either this or the bill_id
|
|
format: string
|
|
nullable: true
|
|
example: Monthly rent
|
|
tags:
|
|
type: array
|
|
description: Array of tags.
|
|
nullable: true
|
|
items:
|
|
type: string
|
|
description: Tag.
|
|
format: string
|
|
example: Barbecue preparation
|
|
example: null
|
|
notes:
|
|
type: string
|
|
format: string
|
|
nullable: true
|
|
example: Some example notes
|
|
internal_reference:
|
|
type: string
|
|
description: Reference to internal reference of other systems.
|
|
format: string
|
|
nullable: true
|
|
external_id:
|
|
type: string
|
|
description: Reference to external ID in other systems.
|
|
format: string
|
|
nullable: true
|
|
external_url:
|
|
type: string
|
|
description: "External, custom URL for this transaction."
|
|
format: string
|
|
nullable: true
|
|
bunq_payment_id:
|
|
type: string
|
|
description: Internal ID of bunq transaction. Field is no longer used but
|
|
still works.
|
|
format: string
|
|
nullable: true
|
|
sepa_cc:
|
|
type: string
|
|
description: SEPA Clearing Code
|
|
format: string
|
|
nullable: true
|
|
sepa_ct_op:
|
|
type: string
|
|
description: SEPA Opposing Account Identifier
|
|
format: string
|
|
nullable: true
|
|
sepa_ct_id:
|
|
type: string
|
|
description: SEPA end-to-end Identifier
|
|
format: string
|
|
nullable: true
|
|
sepa_db:
|
|
type: string
|
|
description: SEPA mandate identifier
|
|
format: string
|
|
nullable: true
|
|
sepa_country:
|
|
type: string
|
|
description: SEPA Country
|
|
format: string
|
|
nullable: true
|
|
sepa_ep:
|
|
type: string
|
|
description: SEPA External Purpose indicator
|
|
format: string
|
|
nullable: true
|
|
sepa_ci:
|
|
type: string
|
|
description: SEPA Creditor Identifier
|
|
format: string
|
|
nullable: true
|
|
sepa_batch_id:
|
|
type: string
|
|
description: SEPA Batch ID
|
|
format: string
|
|
nullable: true
|
|
interest_date:
|
|
type: string
|
|
format: date-time
|
|
nullable: true
|
|
book_date:
|
|
type: string
|
|
format: date-time
|
|
nullable: true
|
|
process_date:
|
|
type: string
|
|
format: date-time
|
|
nullable: true
|
|
due_date:
|
|
type: string
|
|
format: date-time
|
|
nullable: true
|
|
payment_date:
|
|
type: string
|
|
format: date-time
|
|
nullable: true
|
|
invoice_date:
|
|
type: string
|
|
format: date-time
|
|
nullable: true
|
|
TransactionSplitUpdate:
|
|
type: object
|
|
properties:
|
|
transaction_journal_id:
|
|
type: string
|
|
description: Transaction journal ID of current transaction (split).
|
|
format: string
|
|
example: "123"
|
|
type:
|
|
$ref: '#/components/schemas/TransactionTypeProperty'
|
|
date:
|
|
type: string
|
|
description: Date of the transaction
|
|
format: date-time
|
|
example: 2018-09-17T12:46:47+01:00
|
|
amount:
|
|
type: string
|
|
description: Amount of the transaction.
|
|
format: amount
|
|
example: "123.45"
|
|
description:
|
|
type: string
|
|
description: Description of the transaction.
|
|
format: string
|
|
example: Vegetables
|
|
order:
|
|
type: integer
|
|
description: Order of this entry in the list of transactions.
|
|
format: int32
|
|
nullable: true
|
|
example: 0
|
|
currency_id:
|
|
type: string
|
|
description: "Currency ID. Default is the source account's currency, or\
|
|
\ the user's default currency. Can be used instead of currency_code."
|
|
format: string
|
|
nullable: true
|
|
example: "12"
|
|
currency_code:
|
|
type: string
|
|
description: "Currency code. Default is the source account's currency, or\
|
|
\ the user's default currency. Can be used instead of currency_id."
|
|
format: string
|
|
nullable: true
|
|
example: EUR
|
|
currency_symbol:
|
|
type: string
|
|
format: string
|
|
readOnly: true
|
|
example: $
|
|
currency_name:
|
|
type: string
|
|
format: string
|
|
readOnly: true
|
|
example: Euro
|
|
currency_decimal_places:
|
|
type: integer
|
|
description: Number of decimals used in this currency.
|
|
format: int32
|
|
readOnly: true
|
|
example: 2
|
|
foreign_amount:
|
|
type: string
|
|
description: The amount in a foreign currency.
|
|
format: amount
|
|
nullable: true
|
|
example: "123.45"
|
|
foreign_currency_id:
|
|
type: string
|
|
description: Currency ID of the foreign currency. Default is null. Is required
|
|
when you submit a foreign amount.
|
|
format: string
|
|
nullable: true
|
|
example: "17"
|
|
foreign_currency_code:
|
|
type: string
|
|
description: "Currency code of the foreign currency. Default is NULL. Can\
|
|
\ be used instead of the foreign_currency_id, but this or the ID is required\
|
|
\ when submitting a foreign amount."
|
|
format: string
|
|
nullable: true
|
|
example: USD
|
|
foreign_currency_symbol:
|
|
type: string
|
|
format: string
|
|
nullable: true
|
|
readOnly: true
|
|
example: $
|
|
foreign_currency_decimal_places:
|
|
type: integer
|
|
description: Number of decimals in the currency
|
|
format: int32
|
|
nullable: true
|
|
readOnly: true
|
|
example: 2
|
|
budget_id:
|
|
type: string
|
|
description: The budget ID for this transaction.
|
|
format: string
|
|
nullable: true
|
|
example: "4"
|
|
budget_name:
|
|
type: string
|
|
description: "The name of the budget to be used. If the budget name is unknown,\
|
|
\ the ID will be used or the value will be ignored."
|
|
format: string
|
|
nullable: true
|
|
readOnly: true
|
|
example: Groceries
|
|
category_id:
|
|
type: string
|
|
description: The category ID for this transaction.
|
|
format: string
|
|
nullable: true
|
|
example: "43"
|
|
category_name:
|
|
type: string
|
|
description: "The name of the category to be used. If the category is unknown,\
|
|
\ it will be created. If the ID and the name point to different categories,\
|
|
\ the ID overrules the name."
|
|
format: string
|
|
nullable: true
|
|
example: Groceries
|
|
source_id:
|
|
type: string
|
|
description: "ID of the source account. For a withdrawal or a transfer,\
|
|
\ this must always be an asset account. For deposits, this must be a revenue\
|
|
\ account."
|
|
format: string
|
|
nullable: true
|
|
example: "2"
|
|
source_name:
|
|
type: string
|
|
description: "Name of the source account. For a withdrawal or a transfer,\
|
|
\ this must always be an asset account. For deposits, this must be a revenue\
|
|
\ account. Can be used instead of the source_id. If the transaction is\
|
|
\ a deposit, the source_name can be filled in freely: the account will\
|
|
\ be created based on the name."
|
|
format: string
|
|
nullable: true
|
|
example: Checking account
|
|
source_iban:
|
|
type: string
|
|
format: string
|
|
nullable: true
|
|
example: NL02ABNA0123456789
|
|
destination_id:
|
|
type: string
|
|
description: "ID of the destination account. For a deposit or a transfer,\
|
|
\ this must always be an asset account. For withdrawals this must be an\
|
|
\ expense account."
|
|
format: string
|
|
nullable: true
|
|
example: "2"
|
|
destination_name:
|
|
type: string
|
|
description: "Name of the destination account. You can submit the name instead\
|
|
\ of the ID. For everything except transfers, the account will be auto-generated\
|
|
\ if unknown, so submitting a name is enough."
|
|
format: string
|
|
nullable: true
|
|
example: Buy and Large
|
|
destination_iban:
|
|
type: string
|
|
format: string
|
|
nullable: true
|
|
example: NL02ABNA0123456789
|
|
reconciled:
|
|
type: boolean
|
|
description: "If the transaction has been reconciled already. When you set\
|
|
\ this, the amount can no longer be edited by the user."
|
|
format: boolean
|
|
example: false
|
|
bill_id:
|
|
type: string
|
|
description: Optional. Use either this or the bill_name
|
|
format: string
|
|
nullable: true
|
|
example: "111"
|
|
bill_name:
|
|
type: string
|
|
description: Optional. Use either this or the bill_id
|
|
format: string
|
|
nullable: true
|
|
example: Monthly rent
|
|
tags:
|
|
type: array
|
|
description: Array of tags.
|
|
nullable: true
|
|
items:
|
|
type: string
|
|
description: Tag.
|
|
format: string
|
|
example: Barbecue preparation
|
|
example: null
|
|
notes:
|
|
type: string
|
|
format: string
|
|
nullable: true
|
|
example: Some example notes
|
|
internal_reference:
|
|
type: string
|
|
description: Reference to internal reference of other systems.
|
|
format: string
|
|
nullable: true
|
|
external_id:
|
|
type: string
|
|
description: Reference to external ID in other systems.
|
|
format: string
|
|
nullable: true
|
|
external_url:
|
|
type: string
|
|
description: "External, custom URL for this transaction."
|
|
format: string
|
|
nullable: true
|
|
bunq_payment_id:
|
|
type: string
|
|
description: Internal ID of bunq transaction.
|
|
format: string
|
|
nullable: true
|
|
sepa_cc:
|
|
type: string
|
|
description: SEPA Clearing Code
|
|
format: string
|
|
nullable: true
|
|
sepa_ct_op:
|
|
type: string
|
|
description: SEPA Opposing Account Identifier
|
|
format: string
|
|
nullable: true
|
|
sepa_ct_id:
|
|
type: string
|
|
description: SEPA end-to-end Identifier
|
|
format: string
|
|
nullable: true
|
|
sepa_db:
|
|
type: string
|
|
description: SEPA mandate identifier
|
|
format: string
|
|
nullable: true
|
|
sepa_country:
|
|
type: string
|
|
description: SEPA Country
|
|
format: string
|
|
nullable: true
|
|
sepa_ep:
|
|
type: string
|
|
description: SEPA External Purpose indicator
|
|
format: string
|
|
nullable: true
|
|
sepa_ci:
|
|
type: string
|
|
description: SEPA Creditor Identifier
|
|
format: string
|
|
nullable: true
|
|
sepa_batch_id:
|
|
type: string
|
|
description: SEPA Batch ID
|
|
format: string
|
|
nullable: true
|
|
interest_date:
|
|
type: string
|
|
format: date-time
|
|
nullable: true
|
|
book_date:
|
|
type: string
|
|
format: date-time
|
|
nullable: true
|
|
process_date:
|
|
type: string
|
|
format: date-time
|
|
nullable: true
|
|
due_date:
|
|
type: string
|
|
format: date-time
|
|
nullable: true
|
|
payment_date:
|
|
type: string
|
|
format: date-time
|
|
nullable: true
|
|
invoice_date:
|
|
type: string
|
|
format: date-time
|
|
nullable: true
|
|
User:
|
|
title: A single user
|
|
required:
|
|
- email
|
|
type: object
|
|
properties:
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
example: 2018-09-17T12:46:47+01:00
|
|
updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
example: 2018-09-17T12:46:47+01:00
|
|
email:
|
|
type: string
|
|
description: The new users email address.
|
|
format: email
|
|
example: james@firefly-iii.org
|
|
blocked:
|
|
type: boolean
|
|
description: Boolean to indicate if the user is blocked.
|
|
format: boolean
|
|
example: false
|
|
blocked_code:
|
|
$ref: '#/components/schemas/UserBlockedCodeProperty'
|
|
role:
|
|
$ref: '#/components/schemas/UserRoleProperty'
|
|
example:
|
|
role: owner
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
blocked: false
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
blocked_code: email_changed
|
|
email: james@firefly-iii.org
|
|
Webhook:
|
|
title: A single webhook
|
|
required:
|
|
- delivery
|
|
- response
|
|
- title
|
|
- trigger
|
|
- url
|
|
type: object
|
|
properties:
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
example: 2018-09-17T12:46:47+01:00
|
|
updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
example: 2018-09-17T12:46:47+01:00
|
|
active:
|
|
type: boolean
|
|
description: Boolean to indicate if the webhook is active
|
|
format: boolean
|
|
example: false
|
|
title:
|
|
type: string
|
|
description: A title for the webhook for easy recognition.
|
|
format: string
|
|
example: Update magic mirror on new transaction
|
|
secret:
|
|
type: string
|
|
description: "A 24-character secret for the webhook. It's generated by Firefly\
|
|
\ III when saving a new webhook. If you submit a new secret through the\
|
|
\ PUT endpoint it will generate a new secret for the selected webhook,\
|
|
\ a new secret bearing no relation to whatever you just submitted."
|
|
format: string
|
|
readOnly: true
|
|
example: iMLZLtLx2JHWhK9Dtyuoqyir
|
|
trigger:
|
|
$ref: '#/components/schemas/WebhookTrigger'
|
|
response:
|
|
$ref: '#/components/schemas/WebhookResponse'
|
|
delivery:
|
|
$ref: '#/components/schemas/WebhookDelivery'
|
|
url:
|
|
type: string
|
|
description: The URL of the webhook. Has to start with `https`.
|
|
format: string
|
|
readOnly: false
|
|
example: https://example.com
|
|
example:
|
|
delivery: JSON
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
response: RESPONSE_TRANSACTIONS
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
active: false
|
|
secret: iMLZLtLx2JHWhK9Dtyuoqyir
|
|
trigger: DESTROY_TRANSACTION
|
|
title: Update magic mirror on new transaction
|
|
url: https://example.com
|
|
WebhookStore:
|
|
title: A single webhook
|
|
required:
|
|
- delivery
|
|
- response
|
|
- title
|
|
- trigger
|
|
- url
|
|
type: object
|
|
properties:
|
|
active:
|
|
type: boolean
|
|
description: Boolean to indicate if the webhook is active
|
|
format: boolean
|
|
example: false
|
|
title:
|
|
type: string
|
|
description: A title for the webhook for easy recognition.
|
|
format: string
|
|
example: Update magic mirror on new transaction
|
|
trigger:
|
|
$ref: '#/components/schemas/WebhookTrigger'
|
|
response:
|
|
$ref: '#/components/schemas/WebhookResponse'
|
|
delivery:
|
|
$ref: '#/components/schemas/WebhookDelivery'
|
|
url:
|
|
type: string
|
|
description: The URL of the webhook. Has to start with `https`.
|
|
format: string
|
|
readOnly: false
|
|
example: https://example.com
|
|
WebhookUpdate:
|
|
title: A single webhook
|
|
type: object
|
|
properties:
|
|
active:
|
|
type: boolean
|
|
description: Boolean to indicate if the webhook is active
|
|
format: boolean
|
|
example: false
|
|
title:
|
|
type: string
|
|
description: A title for the webhook for easy recognition.
|
|
format: string
|
|
example: Update magic mirror on new transaction
|
|
secret:
|
|
type: string
|
|
description: "A 24-character secret for the webhook. It's generated by Firefly\
|
|
\ III when saving a new webhook. If you submit a new secret through the\
|
|
\ PUT endpoint it will generate a new secret for the selected webhook,\
|
|
\ a new secret bearing no relation to whatever you just submitted."
|
|
format: string
|
|
example: iMLZLtLx2JHWhK9Dtyuoqyir
|
|
trigger:
|
|
$ref: '#/components/schemas/WebhookTrigger'
|
|
response:
|
|
$ref: '#/components/schemas/WebhookResponse'
|
|
delivery:
|
|
$ref: '#/components/schemas/WebhookDelivery'
|
|
url:
|
|
type: string
|
|
description: The URL of the webhook. Has to start with `https`.
|
|
format: string
|
|
readOnly: false
|
|
example: https://example.com
|
|
WebhookAttempt:
|
|
type: object
|
|
properties:
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
example: 2018-09-17T12:46:47+01:00
|
|
updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
example: 2018-09-17T12:46:47+01:00
|
|
webhook_message_id:
|
|
type: string
|
|
description: The ID of the webhook message this attempt belongs to.
|
|
format: string
|
|
example: "5"
|
|
status_code:
|
|
type: integer
|
|
description: "The HTTP status code of the error, if any."
|
|
format: int32
|
|
nullable: true
|
|
example: 404
|
|
logs:
|
|
type: string
|
|
description: Internal log for this attempt. May contain sensitive user data.
|
|
format: string
|
|
nullable: true
|
|
example: Page not found
|
|
response:
|
|
type: string
|
|
description: "Webhook receiver response for this attempt, if any. May contain\
|
|
\ sensitive user data."
|
|
format: amount
|
|
nullable: true
|
|
example: Page not found
|
|
example:
|
|
status_code: 404
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
response: Page not found
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
webhook_message_id: "5"
|
|
logs: Page not found
|
|
WebhookMessage:
|
|
type: object
|
|
properties:
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
example: 2018-09-17T12:46:47+01:00
|
|
updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
example: 2018-09-17T12:46:47+01:00
|
|
sent:
|
|
type: boolean
|
|
description: If this message is sent yet.
|
|
format: boolean
|
|
example: false
|
|
errored:
|
|
type: boolean
|
|
description: If this message has errored out.
|
|
format: boolean
|
|
example: false
|
|
webhook_id:
|
|
type: string
|
|
description: The ID of the webhook this message belongs to.
|
|
format: string
|
|
example: "5"
|
|
uuid:
|
|
type: string
|
|
description: Long UUID string for identification of this webhook message.
|
|
format: string
|
|
example: 7a344c02-5b52-46b1-90e6-a437431dcf07
|
|
message:
|
|
type: string
|
|
description: The actual message that is sent or will be sent as JSON string.
|
|
format: string
|
|
nullable: true
|
|
example: "{some:message}"
|
|
example:
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
webhook_id: "5"
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
message: "{some:message}"
|
|
sent: false
|
|
uuid: 7a344c02-5b52-46b1-90e6-a437431dcf07
|
|
errored: false
|
|
AttachableType:
|
|
type: string
|
|
description: The object class to which the attachment must be linked.
|
|
format: string
|
|
example: Bill
|
|
enum:
|
|
- Account
|
|
- Budget
|
|
- Bill
|
|
- TransactionJournal
|
|
- PiggyBank
|
|
- Tag
|
|
AutoBudgetPeriod:
|
|
type: string
|
|
description: Period for the auto budget
|
|
format: string
|
|
nullable: true
|
|
example: monthly
|
|
enum:
|
|
- daily
|
|
- weekly
|
|
- monthly
|
|
- quarterly
|
|
- half-year
|
|
- yearly
|
|
- null
|
|
AutoBudgetType:
|
|
type: string
|
|
description: The type of auto-budget that Firefly III must create.
|
|
format: string
|
|
nullable: true
|
|
example: reset
|
|
enum:
|
|
- reset
|
|
- rollover
|
|
- none
|
|
- null
|
|
BillRepeatFrequency:
|
|
type: string
|
|
description: How often the bill must be paid.
|
|
format: string
|
|
example: monthly
|
|
enum:
|
|
- weekly
|
|
- monthly
|
|
- quarterly
|
|
- half-year
|
|
- yearly
|
|
PolymorphicProperty:
|
|
oneOf:
|
|
- type: boolean
|
|
- type: string
|
|
- type: object
|
|
- type: array
|
|
items:
|
|
$ref: '#/components/schemas/StringArrayItem'
|
|
RecurrenceRepetitionType:
|
|
type: string
|
|
description: "The type of the repetition. ndom means: the n-th weekday of the\
|
|
\ month, where you can also specify which day of the week."
|
|
format: string
|
|
example: weekly
|
|
enum:
|
|
- daily
|
|
- weekly
|
|
- ndom
|
|
- monthly
|
|
- yearly
|
|
RecurrenceTransactionType:
|
|
type: string
|
|
format: string
|
|
example: withdrawal
|
|
enum:
|
|
- withdrawal
|
|
- transfer
|
|
- deposit
|
|
RuleActionKeyword:
|
|
type: string
|
|
description: The type of thing this action will do. A limited set is possible.
|
|
format: string
|
|
example: set_category
|
|
enum:
|
|
- user_action
|
|
- set_category
|
|
- clear_category
|
|
- set_budget
|
|
- clear_budget
|
|
- add_tag
|
|
- remove_tag
|
|
- remove_all_tags
|
|
- set_description
|
|
- append_description
|
|
- prepend_description
|
|
- set_source_account
|
|
- set_destination_account
|
|
- set_notes
|
|
- append_notes
|
|
- prepend_notes
|
|
- clear_notes
|
|
- link_to_bill
|
|
- convert_withdrawal
|
|
- convert_deposit
|
|
- convert_transfer
|
|
- delete_transaction
|
|
RuleTriggerKeyword:
|
|
type: string
|
|
description: The type of thing this trigger responds to. A limited set is possible
|
|
format: string
|
|
example: user_action
|
|
enum:
|
|
- from_account_starts
|
|
- from_account_ends
|
|
- from_account_is
|
|
- from_account_contains
|
|
- to_account_starts
|
|
- to_account_ends
|
|
- to_account_is
|
|
- to_account_contains
|
|
- amount_less
|
|
- amount_exactly
|
|
- amount_more
|
|
- description_starts
|
|
- description_ends
|
|
- description_contains
|
|
- description_is
|
|
- transaction_type
|
|
- category_is
|
|
- budget_is
|
|
- tag_is
|
|
- currency_is
|
|
- has_attachments
|
|
- has_no_category
|
|
- has_any_category
|
|
- has_no_budget
|
|
- has_any_budget
|
|
- has_no_tag
|
|
- has_any_tag
|
|
- notes_contains
|
|
- notes_start
|
|
- notes_end
|
|
- notes_are
|
|
- no_notes
|
|
- any_notes
|
|
- source_account_is
|
|
- destination_account_is
|
|
- source_account_starts
|
|
RuleTriggerType:
|
|
type: string
|
|
description: Which action is necessary for the rule to fire? Use either store-journal
|
|
or update-journal.
|
|
format: string
|
|
example: store-journal
|
|
enum:
|
|
- store-journal
|
|
- update-journal
|
|
StringArrayItem:
|
|
type: string
|
|
description: The actual preference content.
|
|
format: string
|
|
example: EUR
|
|
UserBlockedCodeProperty:
|
|
type: string
|
|
description: "If you say the user must be blocked, this will be the reason code."
|
|
format: string
|
|
nullable: true
|
|
example: email_changed
|
|
enum:
|
|
- email_changed
|
|
- null
|
|
UserRoleProperty:
|
|
type: string
|
|
description: Role for the user. Can be empty or omitted.
|
|
format: string
|
|
nullable: true
|
|
example: owner
|
|
enum:
|
|
- owner
|
|
- demo
|
|
- null
|
|
WebhookDelivery:
|
|
type: string
|
|
description: Format of the delivered response.
|
|
format: string
|
|
nullable: false
|
|
example: JSON
|
|
enum:
|
|
- JSON
|
|
WebhookResponse:
|
|
type: string
|
|
description: Indicator for what Firefly III will deliver to the webhook URL.
|
|
format: string
|
|
nullable: false
|
|
example: RESPONSE_TRANSACTIONS
|
|
enum:
|
|
- TRANSACTIONS
|
|
- ACCOUNTS
|
|
- NONE
|
|
WebhookTrigger:
|
|
type: string
|
|
description: The trigger for the webhook.
|
|
format: string
|
|
nullable: false
|
|
example: DESTROY_TRANSACTION
|
|
enum:
|
|
- STORE_TRANSACTION
|
|
- UPDATE_TRANSACTION
|
|
- DESTROY_TRANSACTION
|
|
BasicSummary:
|
|
type: object
|
|
additionalProperties:
|
|
$ref: '#/components/schemas/BasicSummaryEntry'
|
|
x-schema-name: BasicSummary
|
|
BasicSummaryEntry:
|
|
type: object
|
|
properties:
|
|
key:
|
|
type: string
|
|
description: "This is a reference to the type of info shared, not influenced\
|
|
\ by translations or user preferences. The EUR value is a reference to\
|
|
\ the currency code. Possibilities are: balance-in-ABC, spent-in-ABC,\
|
|
\ earned-in-ABC, bills-paid-in-ABC, bills-unpaid-in-ABC, left-to-spend-in-ABC\
|
|
\ and net-worth-in-ABC."
|
|
format: string
|
|
example: balance-in-EUR
|
|
title:
|
|
type: string
|
|
description: A translated title for the information shared.
|
|
format: string
|
|
example: Balance ($)
|
|
monetary_value:
|
|
type: number
|
|
description: The amount as a float.
|
|
format: double
|
|
example: 123.45
|
|
currency_id:
|
|
type: string
|
|
description: The currency ID of the associated currency.
|
|
format: string
|
|
example: "5"
|
|
currency_code:
|
|
type: string
|
|
format: string
|
|
example: EUR
|
|
currency_symbol:
|
|
type: string
|
|
format: string
|
|
example: $
|
|
currency_decimal_places:
|
|
type: integer
|
|
description: Number of decimals for the associated currency.
|
|
format: int32
|
|
example: 2
|
|
value_parsed:
|
|
type: string
|
|
description: The amount formatted according to the users locale
|
|
format: string
|
|
example: $ 12.45
|
|
local_icon:
|
|
type: string
|
|
description: Reference to a font-awesome icon without the fa- part.
|
|
format: string
|
|
example: balance-scale
|
|
sub_title:
|
|
type: string
|
|
description: "A short explanation of the amounts origin. Already formatted\
|
|
\ according to the locale of the user or translated, if relevant."
|
|
format: string
|
|
example: $20 + $-40
|
|
example:
|
|
value_parsed: $ 12.45
|
|
sub_title: $20 + $-40
|
|
currency_symbol: $
|
|
monetary_value: 123.45
|
|
title: Balance ($)
|
|
local_icon: balance-scale
|
|
key: balance-in-EUR
|
|
currency_id: "5"
|
|
currency_code: EUR
|
|
currency_decimal_places: 2
|
|
Configuration:
|
|
required:
|
|
- editable
|
|
- title
|
|
- value
|
|
type: object
|
|
properties:
|
|
title:
|
|
$ref: '#/components/schemas/ConfigValueFilter'
|
|
value:
|
|
$ref: '#/components/schemas/PolymorphicProperty'
|
|
editable:
|
|
type: boolean
|
|
description: If this config variable can be edited by the user
|
|
format: boolean
|
|
readOnly: false
|
|
example: true
|
|
example:
|
|
editable: true
|
|
title: configuration.is_demo_site
|
|
value: ""
|
|
ConfigurationUpdate:
|
|
required:
|
|
- value
|
|
type: object
|
|
properties:
|
|
value:
|
|
$ref: '#/components/schemas/PolymorphicProperty'
|
|
CronResult:
|
|
type: object
|
|
properties:
|
|
recurring_transactions:
|
|
$ref: '#/components/schemas/CronResultRow'
|
|
auto_budgets:
|
|
$ref: '#/components/schemas/CronResultRow'
|
|
telemetry:
|
|
$ref: '#/components/schemas/CronResultRow'
|
|
example:
|
|
recurring_transactions:
|
|
job_errored: false
|
|
job_fired: true
|
|
job_succeeded: true
|
|
message: Cron result message
|
|
telemetry: null
|
|
auto_budgets: null
|
|
CronResultRow:
|
|
type: object
|
|
properties:
|
|
job_fired:
|
|
type: boolean
|
|
description: |
|
|
This value tells you if this specific cron job actually fired. It may not fire. Some cron jobs
|
|
only fire every 24 hours, for example.
|
|
format: boolean
|
|
nullable: true
|
|
example: true
|
|
job_succeeded:
|
|
type: boolean
|
|
description: |
|
|
This value tells you if this specific cron job actually did something. The job may fire but not
|
|
change anything.
|
|
format: boolean
|
|
nullable: true
|
|
example: true
|
|
job_errored:
|
|
type: boolean
|
|
description: "If the cron job ran into some kind of an error, this value\
|
|
\ will be true."
|
|
format: boolean
|
|
nullable: true
|
|
example: false
|
|
message:
|
|
type: string
|
|
description: |
|
|
If the cron job ran into some kind of an error, this value will be the error message. The success message
|
|
if the job actually ran OK.
|
|
format: string
|
|
nullable: true
|
|
example: Cron result message
|
|
example:
|
|
job_errored: false
|
|
job_fired: true
|
|
job_succeeded: true
|
|
message: Cron result message
|
|
SystemInfo:
|
|
type: object
|
|
properties:
|
|
data:
|
|
$ref: '#/components/schemas/SystemInfo_data'
|
|
example:
|
|
data:
|
|
os: Linux
|
|
driver: mysql
|
|
php_version: 8.1.5
|
|
api_version: 2.0.0-alpha.1
|
|
version: 5.8.0-alpha.1
|
|
UserSingle:
|
|
required:
|
|
- data
|
|
type: object
|
|
properties:
|
|
data:
|
|
$ref: '#/components/schemas/UserRead'
|
|
example:
|
|
data:
|
|
attributes:
|
|
role: owner
|
|
updated_at: 2018-09-17T12:46:47+01:00
|
|
blocked: false
|
|
created_at: 2018-09-17T12:46:47+01:00
|
|
blocked_code: email_changed
|
|
email: james@firefly-iii.org
|
|
links:
|
|
"0":
|
|
rel: self
|
|
uri: /OBJECTS/1
|
|
self: https://demo.firefly-iii.org/api/v1/OBJECTS/1
|
|
id: "2"
|
|
type: users
|
|
Meta:
|
|
type: object
|
|
properties:
|
|
pagination:
|
|
$ref: '#/components/schemas/Meta_pagination'
|
|
example:
|
|
pagination:
|
|
per_page: 100
|
|
total: 3
|
|
count: 20
|
|
total_pages: 1
|
|
current_page: 1
|
|
BadRequestResponse:
|
|
type: object
|
|
properties:
|
|
message:
|
|
type: string
|
|
format: string
|
|
example: Bad Request
|
|
exception:
|
|
type: string
|
|
format: string
|
|
example: BadRequestHttpException
|
|
InternalExceptionResponse:
|
|
type: object
|
|
properties:
|
|
message:
|
|
type: string
|
|
format: string
|
|
example: Internal Exception
|
|
exception:
|
|
type: string
|
|
format: string
|
|
example: InternalException
|
|
NotFoundResponse:
|
|
type: object
|
|
properties:
|
|
message:
|
|
type: string
|
|
format: string
|
|
example: Resource not found
|
|
exception:
|
|
type: string
|
|
format: string
|
|
example: NotFoundHttpException
|
|
UnauthenticatedResponse:
|
|
type: object
|
|
properties:
|
|
message:
|
|
type: string
|
|
format: string
|
|
example: Unauthenticated
|
|
exception:
|
|
type: string
|
|
format: string
|
|
example: AuthenticationException
|
|
ValidationErrorResponse:
|
|
type: object
|
|
properties:
|
|
message:
|
|
type: string
|
|
format: string
|
|
example: The given data was invalid.
|
|
errors:
|
|
$ref: '#/components/schemas/ValidationErrorResponse_errors'
|
|
AccountRoleProperty:
|
|
type: string
|
|
description: Is only mandatory when the type is asset.
|
|
format: string
|
|
nullable: true
|
|
example: defaultAsset
|
|
enum:
|
|
- defaultAsset
|
|
- sharedAsset
|
|
- savingAsset
|
|
- ccAsset
|
|
- cashWalletAsset
|
|
- null
|
|
AccountTypeProperty:
|
|
type: string
|
|
format: string
|
|
readOnly: true
|
|
example: Asset account
|
|
enum:
|
|
- Default account
|
|
- Cash account
|
|
- Asset account
|
|
- Expense account
|
|
- Revenue account
|
|
- Initial balance account
|
|
- Beneficiary account
|
|
- Import account
|
|
- Reconciliation account
|
|
- Loan
|
|
- Debt
|
|
- Mortgage
|
|
CreditCardTypeProperty:
|
|
type: string
|
|
description: Mandatory when the account_role is ccAsset. Can only be monthlyFull
|
|
or null.
|
|
format: string
|
|
nullable: true
|
|
example: monthlyFull
|
|
enum:
|
|
- monthlyFull
|
|
- null
|
|
InterestPeriodProperty:
|
|
type: string
|
|
description: Mandatory when type is liability. Period over which the interest
|
|
is calculated.
|
|
format: string
|
|
nullable: true
|
|
example: monthly
|
|
enum:
|
|
- weekly
|
|
- monthly
|
|
- quarterly
|
|
- half-year
|
|
- yearly
|
|
- null
|
|
LiabilityDirectionProperty:
|
|
type: string
|
|
description: '''credit'' indicates somebody owes you the liability. ''debit''
|
|
Indicates you owe this debt yourself. Works only for liabiltiies.'
|
|
format: string
|
|
nullable: true
|
|
example: credit
|
|
enum:
|
|
- credit
|
|
- debit
|
|
- null
|
|
LiabilityTypeProperty:
|
|
type: string
|
|
description: Mandatory when type is liability. Specifies the exact type.
|
|
format: string
|
|
nullable: true
|
|
example: loan
|
|
enum:
|
|
- loan
|
|
- debt
|
|
- mortgage
|
|
- null
|
|
ShortAccountTypeProperty:
|
|
type: string
|
|
description: "Can only be one one these account types. import, initial-balance\
|
|
\ and reconciliation cannot be set manually."
|
|
format: string
|
|
example: asset
|
|
enum:
|
|
- asset
|
|
- expense
|
|
- import
|
|
- revenue
|
|
- cash
|
|
- liability
|
|
- liabilities
|
|
- initial-balance
|
|
- reconciliation
|
|
TransactionTypeProperty:
|
|
type: string
|
|
format: string
|
|
example: withdrawal
|
|
enum:
|
|
- withdrawal
|
|
- deposit
|
|
- transfer
|
|
- reconciliation
|
|
- opening balance
|
|
AccountTypeFilter:
|
|
type: string
|
|
enum:
|
|
- all
|
|
- asset
|
|
- cash
|
|
- expense
|
|
- revenue
|
|
- special
|
|
- hidden
|
|
- liability
|
|
- liabilities
|
|
- Default account
|
|
- Cash account
|
|
- Asset account
|
|
- Expense account
|
|
- Revenue account
|
|
- Initial balance account
|
|
- Beneficiary account
|
|
- Import account
|
|
- Reconciliation account
|
|
- Loan
|
|
- Debt
|
|
- Mortgage
|
|
TransactionTypeFilter:
|
|
type: string
|
|
enum:
|
|
- all
|
|
- withdrawal
|
|
- withdrawals
|
|
- expense
|
|
- deposit
|
|
- deposits
|
|
- income
|
|
- transfer
|
|
- transfers
|
|
- opening_balance
|
|
- reconciliation
|
|
- special
|
|
- specials
|
|
- default
|
|
Bill_paid_dates:
|
|
type: object
|
|
properties:
|
|
transaction_group_id:
|
|
type: string
|
|
description: Transaction group ID of the paid bill.
|
|
format: string
|
|
readOnly: true
|
|
example: "123"
|
|
transaction_journal_id:
|
|
type: string
|
|
description: Transaction journal ID of the paid bill.
|
|
format: string
|
|
readOnly: true
|
|
example: "123"
|
|
date:
|
|
type: string
|
|
description: Date the bill was paid.
|
|
format: date-time
|
|
readOnly: true
|
|
example: 2018-09-17T12:46:47+01:00
|
|
readOnly: true
|
|
example:
|
|
date: 2018-09-17T12:46:47+01:00
|
|
transaction_group_id: "123"
|
|
transaction_journal_id: "123"
|
|
ObjectLink_0:
|
|
type: object
|
|
properties:
|
|
rel:
|
|
type: string
|
|
format: string
|
|
example: self
|
|
uri:
|
|
type: string
|
|
format: string
|
|
example: /OBJECTS/1
|
|
example:
|
|
rel: self
|
|
uri: /OBJECTS/1
|
|
SystemInfo_data:
|
|
type: object
|
|
properties:
|
|
version:
|
|
type: string
|
|
format: string
|
|
example: 5.8.0-alpha.1
|
|
api_version:
|
|
type: string
|
|
format: string
|
|
example: 2.0.0-alpha.1
|
|
php_version:
|
|
type: string
|
|
format: string
|
|
example: 8.1.5
|
|
os:
|
|
type: string
|
|
format: string
|
|
example: Linux
|
|
driver:
|
|
type: string
|
|
format: string
|
|
example: mysql
|
|
example:
|
|
os: Linux
|
|
driver: mysql
|
|
php_version: 8.1.5
|
|
api_version: 2.0.0-alpha.1
|
|
version: 5.8.0-alpha.1
|
|
Meta_pagination:
|
|
type: object
|
|
properties:
|
|
total:
|
|
type: integer
|
|
example: 3
|
|
count:
|
|
type: integer
|
|
example: 20
|
|
per_page:
|
|
type: integer
|
|
example: 100
|
|
current_page:
|
|
type: integer
|
|
example: 1
|
|
total_pages:
|
|
type: integer
|
|
example: 1
|
|
example:
|
|
per_page: 100
|
|
total: 3
|
|
count: 20
|
|
total_pages: 1
|
|
current_page: 1
|
|
ValidationErrorResponse_errors:
|
|
type: object
|
|
properties:
|
|
email:
|
|
type: array
|
|
items:
|
|
type: string
|
|
format: string
|
|
blocked:
|
|
type: array
|
|
items:
|
|
type: string
|
|
format: string
|
|
role:
|
|
type: array
|
|
items:
|
|
type: string
|
|
format: string
|
|
blocked_code:
|
|
type: array
|
|
items:
|
|
type: string
|
|
format: string
|
|
name:
|
|
type: array
|
|
items:
|
|
type: string
|
|
format: string
|
|
type:
|
|
type: array
|
|
items:
|
|
type: string
|
|
format: string
|
|
iban:
|
|
type: array
|
|
items:
|
|
type: string
|
|
format: string
|
|
start:
|
|
type: array
|
|
items:
|
|
type: string
|
|
format: string
|
|
end:
|
|
type: array
|
|
items:
|
|
type: string
|
|
format: string
|
|
date:
|
|
type: array
|
|
items:
|
|
type: string
|
|
format: string
|
|
securitySchemes:
|
|
firefly_iii_auth:
|
|
type: oauth2
|
|
description: Default OAuth2 flow
|
|
flows:
|
|
authorizationCode:
|
|
authorizationUrl: https://demo.firefly-iii.org/oauth/authorize
|
|
tokenUrl: https://demo.firefly-iii.org/oauth/token
|
|
refreshUrl: https://demo.firefly-iii.org/oauth/token
|
|
scopes: {}
|
|
local_bearer_auth:
|
|
type: http
|
|
description: Optional Bearer token flow
|
|
scheme: bearer
|