go-firefly3/README.md
2024-04-15 21:40:11 +03:00

43 KiB

Go Reference

Go API client for swagger

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-03-16T05:34:43+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.

Overview

This API client was generated by the swagger-codegen project. By using the swagger-spec from a remote server, you can easily generate an API client.

  • API version: 2.0.12
  • Package version: 1.0.0
  • Build package: io.swagger.codegen.v3.generators.go.GoClientCodegen For more information, please visit https://firefly-iii.org

Installation

Put the package under your project folder and add the following in import:

import "./swagger"

Documentation for API Endpoints

All URIs are relative to https://demo.firefly-iii.org/api

Class Method HTTP request Description
AboutApi GetAbout Get /v1/about System information end point.
AboutApi GetCron Get /v1/cron/{cliToken} Cron job endpoint
AboutApi GetCurrentUser **
Get** /v1/about/user Currently authenticated user endpoint.
AccountsApi DeleteAccount **
Delete** /v1/accounts/{id} Permanently delete account.
AccountsApi GetAccount Get /v1/accounts/{id} Get single account.
AccountsApi ListAccount Get /v1/accounts List all accounts.
AccountsApi ListAttachmentByAccount **
Get** /v1/accounts/{id}/attachments Lists all attachments.
AccountsApi ListPiggyBankByAccount **
Get** /v1/accounts/{id}/piggy-banks List all piggy banks related to the account.
AccountsApi ListTransactionByAccount **
Get** /v1/accounts/{id}/transactions List all transactions related to the account.
AccountsApi StoreAccount Post /v1/accounts Create new account.
AccountsApi UpdateAccount **
Put** /v1/accounts/{id} Update existing account.
AttachmentsApi DeleteAttachment **
Delete** /v1/attachments/{id} Delete an attachment.
AttachmentsApi DownloadAttachment **
Get** /v1/attachments/{id}/download Download a single attachment.
AttachmentsApi GetAttachment **
Get** /v1/attachments/{id} Get a single attachment.
AttachmentsApi ListAttachment **
Get** /v1/attachments List all attachments.
AttachmentsApi StoreAttachment **
Post** /v1/attachments Store a new attachment.
AttachmentsApi UpdateAttachment **
Put** /v1/attachments/{id} Update existing attachment.
AttachmentsApi UploadAttachment **
Post** /v1/attachments/{id}/upload Upload an attachment.
AutocompleteApi GetAccountsAC **
Get** /v1/autocomplete/accounts Returns all accounts of the user returned in a basic auto-complete array.
AutocompleteApi GetBillsAC **
Get** /v1/autocomplete/bills Returns all bills of the user returned in a basic auto-complete array.
AutocompleteApi GetBudgetsAC **
Get** /v1/autocomplete/budgets Returns all budgets of the user returned in a basic auto-complete array.
AutocompleteApi GetCategoriesAC **
Get** /v1/autocomplete/categories Returns all categories of the user returned in a basic auto-complete array.
AutocompleteApi GetCurrenciesAC **
Get** /v1/autocomplete/currencies Returns all currencies of the user returned in a basic auto-complete array.
AutocompleteApi GetCurrenciesCodeAC **
Get** /v1/autocomplete/currencies-with-code 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.
AutocompleteApi GetObjectGroupsAC **
Get** /v1/autocomplete/object-groups Returns all object groups of the user returned in a basic auto-complete array.
AutocompleteApi GetPiggiesAC **
Get** /v1/autocomplete/piggy-banks Returns all piggy banks of the user returned in a basic auto-complete array.
AutocompleteApi GetPiggiesBalanceAC **
Get** /v1/autocomplete/piggy-banks-with-balance Returns all piggy banks of the user returned in a basic auto-complete array complemented with balance information.
AutocompleteApi GetRecurringAC **
Get** /v1/autocomplete/recurring Returns all recurring transactions of the user returned in a basic auto-complete array.
AutocompleteApi GetRuleGroupsAC **
Get** /v1/autocomplete/rule-groups Returns all rule groups of the user returned in a basic auto-complete array.
AutocompleteApi GetRulesAC **
Get** /v1/autocomplete/rules Returns all rules of the user returned in a basic auto-complete array.
AutocompleteApi GetTagAC **
Get** /v1/autocomplete/tags Returns all tags of the user returned in a basic auto-complete array.
AutocompleteApi GetTransactionTypesAC **
Get** /v1/autocomplete/transaction-types Returns all transaction types returned in a basic auto-complete array. English only.
AutocompleteApi GetTransactionsAC **
Get** /v1/autocomplete/transactions Returns all transaction descriptions of the user returned in a basic auto-complete array.
AutocompleteApi GetTransactionsIDAC **
Get** /v1/autocomplete/transactions-with-id 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.
AvailableBudgetsApi GetAvailableBudget **
Get** /v1/available-budgets/{id} Get a single available budget.
AvailableBudgetsApi ListAvailableBudget **
Get** /v1/available-budgets List all available budget amounts.
BillsApi DeleteBill Delete /v1/bills/{id} Delete a bill.
BillsApi GetBill Get /v1/bills/{id} Get a single bill.
BillsApi ListAttachmentByBill **
Get** /v1/bills/{id}/attachments List all attachments uploaded to the bill.
BillsApi ListBill Get /v1/bills List all bills.
BillsApi ListRuleByBill **
Get** /v1/bills/{id}/rules List all rules associated with the bill.
BillsApi ListTransactionByBill **
Get** /v1/bills/{id}/transactions List all transactions associated with the bill.
BillsApi StoreBill Post /v1/bills Store a new bill
BillsApi UpdateBill Put /v1/bills/{id} Update existing bill.
BudgetsApi DeleteBudget Delete /v1/budgets/{id} Delete a budget.
BudgetsApi DeleteBudgetLimit **
Delete** /v1/budgets/{id}/limits/{limitId} Delete a budget limit.
BudgetsApi GetBudget Get /v1/budgets/{id} Get a single budget.
BudgetsApi GetBudgetLimit **
Get** /v1/budgets/{id}/limits/{limitId} Get single budget limit.
BudgetsApi ListAttachmentByBudget **
Get** /v1/budgets/{id}/attachments Lists all attachments of a budget.
BudgetsApi ListBudget Get /v1/budgets List all budgets.
BudgetsApi ListBudgetLimit **
Get** /v1/budget-limits Get list of budget limits by date
BudgetsApi ListBudgetLimitByBudget **
Get** /v1/budgets/{id}/limits Get all limits for a budget.
BudgetsApi ListTransactionByBudget **
Get** /v1/budgets/{id}/transactions All transactions to a budget.
BudgetsApi ListTransactionByBudgetLimit **
Get** /v1/budgets/{id}/limits/{limitId}/transactions List all transactions by a budget limit ID.
BudgetsApi StoreBudget Post /v1/budgets Store a new budget
BudgetsApi StoreBudgetLimit **
Post** /v1/budgets/{id}/limits Store new budget limit.
BudgetsApi UpdateBudget Put /v1/budgets/{id} Update existing budget.
BudgetsApi UpdateBudgetLimit **
Put** /v1/budgets/{id}/limits/{limitId} Update existing budget limit.
CategoriesApi DeleteCategory **
Delete** /v1/categories/{id} Delete a category.
CategoriesApi GetCategory **
Get** /v1/categories/{id} Get a single category.
CategoriesApi ListAttachmentByCategory **
Get** /v1/categories/{id}/attachments Lists all attachments.
CategoriesApi ListCategory Get /v1/categories List all categories.
CategoriesApi ListTransactionByCategory **
Get** /v1/categories/{id}/transactions List all transactions in a category.
CategoriesApi StoreCategory **
Post** /v1/categories Store a new category
CategoriesApi UpdateCategory **
Put** /v1/categories/{id} Update existing category.
ChartsApi GetChartAccountOverview **
Get** /v1/chart/account/overview Dashboard chart with asset account balance information.
ConfigurationApi GetConfiguration **
Get** /v1/configuration Get Firefly III system configuration values.
ConfigurationApi GetSingleConfiguration **
Get** /v1/configuration/{name} Get a single Firefly III system configuration value
ConfigurationApi SetConfiguration **
Put** /v1/configuration/{name} Update configuration value
CurrenciesApi DefaultCurrency **
Post** /v1/currencies/{code}/default Make currency default currency.
CurrenciesApi DeleteCurrency **
Delete** /v1/currencies/{code} Delete a currency.
CurrenciesApi DisableCurrency **
Post** /v1/currencies/{code}/disable Disable a currency.
CurrenciesApi EnableCurrency **
Post** /v1/currencies/{code}/enable Enable a single currency.
CurrenciesApi GetCurrency **
Get** /v1/currencies/{code} Get a single currency.
CurrenciesApi GetDefaultCurrency **
Get** /v1/currencies/default Get the user's default currency.
CurrenciesApi ListAccountByCurrency **
Get** /v1/currencies/{code}/accounts List all accounts with this currency.
CurrenciesApi ListAvailableBudgetByCurrency **
Get** /v1/currencies/{code}/available-budgets List all available budgets with this currency.
CurrenciesApi ListBillByCurrency **
Get** /v1/currencies/{code}/bills List all bills with this currency.
CurrenciesApi ListBudgetLimitByCurrency **
Get** /v1/currencies/{code}/budget_limits List all budget limits with this currency
CurrenciesApi ListCurrency Get /v1/currencies List all currencies.
CurrenciesApi ListRecurrenceByCurrency **
Get** /v1/currencies/{code}/recurrences List all recurring transactions with this currency.
CurrenciesApi ListRuleByCurrency **
Get** /v1/currencies/{code}/rules List all rules with this currency.
CurrenciesApi ListTransactionByCurrency **
Get** /v1/currencies/{code}/transactions List all transactions with this currency.
CurrenciesApi StoreCurrency **
Post** /v1/currencies Store a new currency
CurrenciesApi UpdateCurrency **
Put** /v1/currencies/{code} Update existing currency.
DataApi BulkUpdateTransactions **
Post** /v1/data/bulk/transactions Bulk update transaction properties. For more information, see https://docs.firefly-iii.org/references/firefly-iii/api/specials/
DataApi DestroyData Delete /v1/data/destroy Endpoint to destroy user data
DataApi ExportAccounts **
Get** /v1/data/export/accounts Export account data from Firefly III
DataApi ExportBills **
Get** /v1/data/export/bills Export bills from Firefly III
DataApi ExportBudgets **
Get** /v1/data/export/budgets Export budgets and budget amount data from Firefly III
DataApi ExportCategories **
Get** /v1/data/export/categories Export category data from Firefly III
DataApi ExportPiggies **
Get** /v1/data/export/piggy-banks Export piggy banks from Firefly III
DataApi ExportRecurring **
Get** /v1/data/export/recurring Export recurring transaction data from Firefly III
DataApi ExportRules **
Get** /v1/data/export/rules Export rule groups and rule data from Firefly III
DataApi ExportTags **
Get** /v1/data/export/tags Export tag data from Firefly III
DataApi ExportTransactions **
Get** /v1/data/export/transactions Export transaction data from Firefly III
DataApi PurgeData Delete /v1/data/purge Endpoint to purge user data
InsightApi InsightExpenseAsset **
Get** /v1/insight/expense/asset Insight into expenses, grouped by asset account.
InsightApi InsightExpenseBill **
Get** /v1/insight/expense/bill Insight into expenses, grouped by bill.
InsightApi InsightExpenseBudget **
Get** /v1/insight/expense/budget Insight into expenses, grouped by budget.
InsightApi InsightExpenseCategory **
Get** /v1/insight/expense/category Insight into expenses, grouped by category.
InsightApi InsightExpenseExpense **
Get** /v1/insight/expense/expense Insight into expenses, grouped by expense account.
InsightApi InsightExpenseNoBill **
Get** /v1/insight/expense/no-bill Insight into expenses, without bill.
InsightApi InsightExpenseNoBudget **
Get** /v1/insight/expense/no-budget Insight into expenses, without budget.
InsightApi InsightExpenseNoCategory **
Get** /v1/insight/expense/no-category Insight into expenses, without category.
InsightApi InsightExpenseNoTag **
Get** /v1/insight/expense/no-tag Insight into expenses, without tag.
InsightApi InsightExpenseTag **
Get** /v1/insight/expense/tag Insight into expenses, grouped by tag.
InsightApi InsightExpenseTotal **
Get** /v1/insight/expense/total Insight into total expenses.
InsightApi InsightIncomeAsset **
Get** /v1/insight/income/asset Insight into income, grouped by asset account.
InsightApi InsightIncomeCategory **
Get** /v1/insight/income/category Insight into income, grouped by category.
InsightApi InsightIncomeNoCategory **
Get** /v1/insight/income/no-category Insight into income, without category.
InsightApi InsightIncomeNoTag **
Get** /v1/insight/income/no-tag Insight into income, without tag.
InsightApi InsightIncomeRevenue **
Get** /v1/insight/income/revenue Insight into income, grouped by revenue account.
InsightApi InsightIncomeTag **
Get** /v1/insight/income/tag Insight into income, grouped by tag.
InsightApi InsightIncomeTotal **
Get** /v1/insight/income/total Insight into total income.
InsightApi InsightTransferCategory **
Get** /v1/insight/transfer/category Insight into transfers, grouped by category.
InsightApi InsightTransferNoCategory **
Get** /v1/insight/transfer/no-category Insight into transfers, without category.
InsightApi InsightTransferNoTag **
Get** /v1/insight/transfer/no-tag Insight into expenses, without tag.
InsightApi InsightTransferTag **
Get** /v1/insight/transfer/tag Insight into transfers, grouped by tag.
InsightApi InsightTransferTotal **
Get** /v1/insight/transfer/total Insight into total transfers.
InsightApi InsightTransfers **
Get** /v1/insight/transfer/asset Insight into transfers, grouped by account.
LinksApi DeleteLinkType **
Delete** /v1/link-types/{id} Permanently delete link type.
LinksApi DeleteTransactionLink **
Delete** /v1/transaction-links/{id} Permanently delete link between transactions.
LinksApi GetLinkType Get /v1/link-types/{id} Get single a link type.
LinksApi GetTransactionLink **
Get** /v1/transaction-links/{id} Get a single link.
LinksApi ListLinkType Get /v1/link-types List all types of links.
LinksApi ListTransactionByLinkType **
Get** /v1/link-types/{id}/transactions List all transactions under this link type.
LinksApi ListTransactionLink **
Get** /v1/transaction-links List all transaction links.
LinksApi StoreLinkType Post /v1/link-types Create a new link type
LinksApi StoreTransactionLink **
Post** /v1/transaction-links Create a new link between transactions
LinksApi UpdateLinkType **
Put** /v1/link-types/{id} Update existing link type.
LinksApi UpdateTransactionLink **
Put** /v1/transaction-links/{id} Update an existing link between transactions.
ObjectGroupsApi DeleteObjectGroup **
Delete** /v1/object-groups/{id} Delete a object group.
ObjectGroupsApi GetObjectGroup **
Get** /v1/object-groups/{id} Get a single object group.
ObjectGroupsApi ListBillByObjectGroup **
Get** /v1/object-groups/{id}/bills List all bills with this object group.
ObjectGroupsApi ListObjectGroups **
Get** /v1/object-groups List all oject groups.
ObjectGroupsApi ListPiggyBankByObjectGroup **
Get** /v1/object-groups/{id}/piggy-banks List all piggy banks related to the object group.
ObjectGroupsApi UpdateObjectGroup **
Put** /v1/object-groups/{id} Update existing object group.
PiggyBanksApi DeletePiggyBank **
Delete** /v1/piggy-banks/{id} Delete a piggy bank.
PiggyBanksApi GetPiggyBank **
Get** /v1/piggy-banks/{id} Get a single piggy bank.
PiggyBanksApi ListAttachmentByPiggyBank **
Get** /v1/piggy-banks/{id}/attachments Lists all attachments.
PiggyBanksApi ListEventByPiggyBank **
Get** /v1/piggy-banks/{id}/events List all events linked to a piggy bank.
PiggyBanksApi ListPiggyBank **
Get** /v1/piggy-banks List all piggy banks.
PiggyBanksApi StorePiggyBank **
Post** /v1/piggy-banks Store a new piggy bank
PiggyBanksApi UpdatePiggyBank **
Put** /v1/piggy-banks/{id} Update existing piggy bank.
PreferencesApi GetPreference **
Get** /v1/preferences/{name} Return a single preference.
PreferencesApi ListPreference **
Get** /v1/preferences List all users preferences.
PreferencesApi StorePreference **
Post** /v1/preferences Store a new preference for this user.
PreferencesApi UpdatePreference **
Put** /v1/preferences/{name} Update preference
RecurrencesApi DeleteRecurrence **
Delete** /v1/recurrences/{id} Delete a recurring transaction.
RecurrencesApi GetRecurrence **
Get** /v1/recurrences/{id} Get a single recurring transaction.
RecurrencesApi ListRecurrence **
Get** /v1/recurrences List all recurring transactions.
RecurrencesApi ListTransactionByRecurrence **
Get** /v1/recurrences/{id}/transactions List all transactions created by a recurring transaction.
RecurrencesApi StoreRecurrence **
Post** /v1/recurrences Store a new recurring transaction
RecurrencesApi UpdateRecurrence **
Put** /v1/recurrences/{id} Update existing recurring transaction.
RuleGroupsApi DeleteRuleGroup **
Delete** /v1/rule-groups/{id} Delete a rule group.
RuleGroupsApi FireRuleGroup **
Post** /v1/rule-groups/{id}/trigger Fire the rule group on your transactions.
RuleGroupsApi GetRuleGroup **
Get** /v1/rule-groups/{id} Get a single rule group.
RuleGroupsApi ListRuleByGroup **
Get** /v1/rule-groups/{id}/rules List rules in this rule group.
RuleGroupsApi ListRuleGroup **
Get** /v1/rule-groups List all rule groups.
RuleGroupsApi StoreRuleGroup **
Post** /v1/rule-groups Store a new rule group.
RuleGroupsApi TestRuleGroup **
Get** /v1/rule-groups/{id}/test Test which transactions would be hit by the rule group. No changes will be made.
RuleGroupsApi UpdateRuleGroup **
Put** /v1/rule-groups/{id} Update existing rule group.
RulesApi DeleteRule Delete /v1/rules/{id} Delete an rule.
RulesApi FireRule **
Post** /v1/rules/{id}/trigger Fire the rule on your transactions.
RulesApi GetRule Get /v1/rules/{id} Get a single rule.
RulesApi ListRule Get /v1/rules List all rules.
RulesApi StoreRule Post /v1/rules Store a new rule
RulesApi TestRule **
Get** /v1/rules/{id}/test Test which transactions would be hit by the rule. No changes will be made.
RulesApi UpdateRule Put /v1/rules/{id} Update existing rule.
SearchApi SearchAccounts Get /v1/search/accounts Search for accounts
SearchApi SearchTransactions **
Get** /v1/search/transactions Search for transactions
SummaryApi GetBasicSummary **
Get** /v1/summary/basic Returns basic sums of the users data.
TagsApi DeleteTag Delete /v1/tags/{tag} Delete an tag.
TagsApi GetTag Get /v1/tags/{tag} Get a single tag.
TagsApi ListAttachmentByTag **
Get** /v1/tags/{tag}/attachments Lists all attachments.
TagsApi ListTag Get /v1/tags List all tags.
TagsApi ListTransactionByTag **
Get** /v1/tags/{tag}/transactions List all transactions with this tag.
TagsApi StoreTag Post /v1/tags Store a new tag
TagsApi UpdateTag Put /v1/tags/{tag} Update existing tag.
TransactionsApi DeleteTransaction **
Delete** /v1/transactions/{id} Delete a transaction.
TransactionsApi DeleteTransactionJournal **
Delete** /v1/transaction-journals/{id} Delete split from transaction
TransactionsApi GetTransaction **
Get** /v1/transactions/{id} Get a single transaction.
TransactionsApi GetTransactionByJournal **
Get** /v1/transaction-journals/{id} Get a single transaction, based on one of the underlying transaction journals (transaction splits).
TransactionsApi ListAttachmentByTransaction **
Get** /v1/transactions/{id}/attachments Lists all attachments.
TransactionsApi ListEventByTransaction **
Get** /v1/transactions/{id}/piggy-bank-events Lists all piggy bank events.
TransactionsApi ListLinksByJournal **
Get** /v1/transaction-journals/{id}/links Lists all the transaction links for an individual journal (individual split).
TransactionsApi ListTransaction **
Get** /v1/transactions List all the user's transactions.
TransactionsApi StoreTransaction **
Post** /v1/transactions Store a new transaction
TransactionsApi UpdateTransaction **
Put** /v1/transactions/{id} Update existing transaction. For more information, see https://docs.firefly-iii.org/references/firefly-iii/api/specials/
UsersApi DeleteUser Delete /v1/users/{id} Delete a user.
UsersApi GetUser Get /v1/users/{id} Get a single user.
UsersApi ListUser Get /v1/users List all users.
UsersApi StoreUser Post /v1/users Store a new user
UsersApi UpdateUser **
Put** /v1/users/{id} Update an existing user's information.
WebhooksApi DeleteWebhook **
Delete** /v1/webhooks/{id} Delete a webhook.
WebhooksApi DeleteWebhookMessage **
Delete** /v1/webhooks/{id}/messages/{messageId} Delete a webhook message.
WebhooksApi DeleteWebhookMessageAttempt **
Delete** /v1/webhooks/{id}/messages/{messageId}/attempts/{attemptId} Delete a webhook attempt.
WebhooksApi GetSingleWebhookMessage **
Get** /v1/webhooks/{id}/messages/{messageId} Get a single message from a webhook.
WebhooksApi GetSingleWebhookMessageAttempt **
Get** /v1/webhooks/{id}/messages/{messageId}/attempts/{attemptId} Get a single failed attempt from a single webhook message.
WebhooksApi GetWebhook Get /v1/webhooks/{id} Get a single webhook.
WebhooksApi GetWebhookMessageAttempts **
Get** /v1/webhooks/{id}/messages/{messageId}/attempts Get all the failed attempts of a single webhook message.
WebhooksApi GetWebhookMessages **
Get** /v1/webhooks/{id}/messages Get all the messages of a single webhook.
WebhooksApi ListWebhook Get /v1/webhooks List all webhooks.
WebhooksApi StoreWebhook Post /v1/webhooks Store a new webhook
WebhooksApi SubmitWebook **
Post** /v1/webhooks/{id}/submit Submit messages for a webhook.
WebhooksApi TriggerTransactionWebhook **
Post** /v1/webhooks/{id}/trigger-transaction/{transactionId} Trigger webhook for a given transaction.
WebhooksApi UpdateWebhook **
Put** /v1/webhooks/{id} Update existing webhook.

Documentation For Models

Documentation For Authorization

firefly_iii_auth

Example

auth := context.WithValue(context.Background(), sw.ContextAccessToken, "ACCESSTOKENSTRING")
r, err := client.Service.Operation(auth, args)

Or via OAuth2 module to automatically refresh tokens and perform user authentication.

import "golang.org/x/oauth2"

/* Perform OAuth2 round trip request and obtain a token */

tokenSource := oauth2cfg.TokenSource(createContext(httpClient), &token)
auth := context.WithValue(oauth2.NoContext, sw.ContextOAuth2, tokenSource)
r, err := client.Service.Operation(auth, args)

local_bearer_auth

Author

james@firefly-iii.org