# Functions
@Summary Delete everything @Description Permanently deletes all resources @Tags v4 @Success 204 @Failure 400 {object} httpError @Failure 500 {object} httpError @Param confirm query string false "Confirmation to delete all resources.
@Summary Creates accounts @Description Creates new accounts @Tags Accounts @Produce json @Success 201 {object} AccountCreateResponse @Failure 400 {object} AccountCreateResponse @Failure 404 {object} AccountCreateResponse @Failure 500 {object} AccountCreateResponse @Param accounts body []AccountEditable true "Accounts" @Router /v4/accounts [post].
@Summary Create budget @Description Creates a new budget @Tags Budgets @Accept json @Produce json @Success 201 {object} BudgetCreateResponse @Failure 400 {object} BudgetCreateResponse @Failure 500 {object} BudgetCreateResponse @Param budget body []BudgetEditable true "Budget" @Router /v4/budgets [post].
@Summary Create category @Description Creates a new category @Tags Categories @Produce json @Success 201 {object} CategoryCreateResponse @Failure 400 {object} CategoryCreateResponse @Failure 404 {object} CategoryCreateResponse @Failure 500 {object} CategoryCreateResponse @Param categories body []CategoryEditable true "Categories" @Router /v4/categories [post].
@Summary Create envelope @Description Creates a new envelope @Tags Envelopes @Produce json @Success 201 {object} EnvelopeCreateResponse @Failure 400 {object} EnvelopeCreateResponse @Failure 404 {object} EnvelopeCreateResponse @Failure 500 {object} EnvelopeCreateResponse @Param envelope body []v4.EnvelopeEditable true "Envelopes" @Router /v4/envelopes [post].
@Summary Create goals @Description Creates new goals @Tags Goals @Produce json @Success 201 {object} GoalCreateResponse @Failure 400 {object} GoalCreateResponse @Failure 404 {object} GoalCreateResponse @Failure 500 {object} GoalCreateResponse @Param goals body []GoalEditable true "Goals" @Router /v4/goals [post].
@Summary Create matchRules @Description Creates matchRules from the list of submitted matchRule data.
@Summary Create transactions @Description Creates transactions from the list of submitted transaction data.
@Summary Delete account @Description Deletes an account @Tags Accounts @Produce json @Success 204 @Failure 400 {object} httpError @Failure 404 {object} httpError @Failure 500 {object} httpError @Param id path string true "ID formatted as string" @Router /v4/accounts/{id} [delete].
@Summary Delete allocations for a month @Description Deletes all allocation for the specified month @Tags Months @Success 204 @Failure 400 {object} httpError @Failure 404 {object} httpError @Failure 500 {object} httpError @Param budget query string true "ID formatted as string" @Param month query string true "The month in YYYY-MM format" @Router /v4/months [delete].
@Summary Delete budget @Description Deletes a budget @Tags Budgets @Success 204 @Failure 400 {object} httpError @Failure 404 {object} httpError @Failure 500 {object} httpError @Param id path string true "ID formatted as string" @Router /v4/budgets/{id} [delete].
@Summary Delete category @Description Deletes a category @Tags Categories @Success 204 @Failure 400 {object} httpError @Failure 404 {object} httpError @Failure 500 {object} httpError @Param id path string true "ID formatted as string" @Router /v4/categories/{id} [delete].
@Summary Delete envelope @Description Deletes an envelope @Tags Envelopes @Success 204 @Failure 400 {object} httpError @Failure 404 {object} httpError @Failure 500 {object} httpError @Param id path string true "ID formatted as string" @Router /v4/envelopes/{id} [delete].
@Summary Delete goal @Description Deletes a goal @Tags Goals @Success 204 @Failure 400 {object} httpError @Failure 404 {object} httpError @Failure 500 {object} httpError @Param id path string true "ID formatted as string" @Router /v4/goals/{id} [delete].
@Summary Delete matchRule @Description Deletes an matchRule @Tags MatchRules @Success 204 @Failure 400 {object} httpError @Failure 404 {object} httpError @Failure 500 {object} httpError @Param id path string true "ID formatted as string" @Router /v4/match-rules/{id} [delete].
@Summary Delete transaction @Description Deletes a transaction @Tags Transactions @Success 204 @Failure 400 {object} httpError @Failure 404 {object} httpError @Failure 500 {object} httpError @Param id path string true "ID formatted as string" @Router /v4/transactions/{id} [delete].
Get returns the link list for v4
@Summary v4 API @Description Returns general information about the v4 API @Tags v4 @Success 200 {object} Response @Router /v4 [get].
@Summary Get account @Description Returns a specific account @Tags Accounts @Produce json @Success 200 {object} AccountResponse @Failure 400 {object} AccountResponse @Failure 404 {object} AccountResponse @Failure 500 {object} AccountResponse @Param id path string true "ID formatted as string" @Router /v4/accounts/{id} [get].
@Summary Get Account data @Description Returns calculated data for the account, e.g.
@Summary Get recent envelopes @Description Returns a list of objects representing recent envelopes @Tags Accounts @Produce json @Success 200 {object} RecentEnvelopesResponse @Failure 400 {object} RecentEnvelopesResponse @Failure 404 {object} RecentEnvelopesResponse @Failure 500 {object} RecentEnvelopesResponse @Param id path string true "ID formatted as string" @Router /v4/accounts/{id}/recent-envelopes [get].
@Summary List accounts @Description Returns a list of accounts @Tags Accounts @Produce json @Success 200 {object} AccountListResponse @Failure 400 {object} AccountListResponse @Failure 500 {object} AccountListResponse @Router /v4/accounts [get] @Param name query string false "Filter by name" @Param note query string false "Filter by note" @Param budget query string false "Filter by budget ID" @Param onBudget query bool false "Is the account on-budget?" @Param external query bool false "Is the account external?" @Param archived query bool false "Is the account archived?" @Param search query string false "Search for this text in name and note" @Param offset query uint false "The offset of the first Account returned.
@Summary Get budget @Description Returns a specific budget @Tags Budgets @Produce json @Success 200 {object} BudgetResponse @Failure 400 {object} BudgetResponse @Failure 404 {object} BudgetResponse @Failure 500 {object} BudgetResponse @Param id path string true "ID formatted as string" @Router /v4/budgets/{id} [get].
@Summary List budgets @Description Returns a list of budgets @Tags Budgets @Produce json @Success 200 {object} BudgetListResponse @Failure 500 {object} BudgetListResponse @Router /v4/budgets [get] @Param name query string false "Filter by name" @Param note query string false "Filter by note" @Param currency query string false "Filter by currency" @Param search query string false "Search for this text in name and note" @Param offset query uint false "The offset of the first Budget returned.
@Summary Get categories @Description Returns a list of categories @Tags Categories @Produce json @Success 200 {object} CategoryListResponse @Failure 400 {object} CategoryListResponse @Failure 500 {object} CategoryListResponse @Router /v4/categories [get] @Param name query string false "Filter by name" @Param note query string false "Filter by note" @Param budget query string false "Filter by budget ID" @Param archived query bool false "Is the category archived?" @Param search query string false "Search for this text in name and note" @Param offset query uint false "The offset of the first Category returned.
@Summary Get category @Description Returns a specific category @Tags Categories @Produce json @Success 200 {object} CategoryResponse @Failure 400 {object} CategoryResponse @Failure 404 {object} CategoryResponse @Failure 500 {object} CategoryResponse @Param id path string true "ID formatted as string" @Router /v4/categories/{id} [get].
@Summary Get Envelope @Description Returns a specific Envelope @Tags Envelopes @Produce json @Success 200 {object} EnvelopeResponse @Failure 400 {object} EnvelopeResponse @Failure 404 {object} EnvelopeResponse @Failure 500 {object} EnvelopeResponse @Param id path string true "ID formatted as string" @Router /v4/envelopes/{id} [get].
@Summary Get envelopes @Description Returns a list of envelopes @Tags Envelopes @Produce json @Success 200 {object} EnvelopeListResponse @Failure 400 {object} EnvelopeListResponse @Failure 500 {object} EnvelopeListResponse @Router /v4/envelopes [get] @Param name query string false "Filter by name" @Param note query string false "Filter by note" @Param category query string false "Filter by category ID" @Param archived query bool false "Is the envelope archived?" @Param search query string false "Search for this text in name and note" @Param offset query uint false "The offset of the first Envelope returned.
@Summary Export @Description Exports all resources for the instance @Tags Export @Produce json @Success 200 {object} ExportResponse @Failure 500 {object} ExportResponse @Router /v4/export [get].
@Summary Get goal @Description Returns a specific goal @Tags Goals @Produce json @Success 200 {object} GoalResponse @Failure 400 {object} GoalResponse @Failure 404 {object} GoalResponse @Failure 500 {object} GoalResponse @Param id path string true "ID formatted as string" @Router /v4/goals/{id} [get].
@Summary Get goals @Description Returns a list of goals @Tags Goals @Produce json @Success 200 {object} GoalListResponse @Failure 400 {object} GoalListResponse @Failure 500 {object} GoalListResponse @Router /v4/goals [get] @Param name query string false "Filter by name" @Param note query string false "Filter by note" @Param search query string false "Search for this text in name and note" @Param archived query bool false "Is the goal archived?" @Param envelope query string false "Filter by envelope ID" @Param month query string false "Month of the goal.
@Summary Import API overview @Description Returns general information about the v4 API @Tags Import @Success 200 {object} ImportResponse @Router /v4/import [get].
@Summary Get matchRule @Description Returns a specific matchRule @Tags MatchRules @Produce json @Success 200 {object} MatchRuleResponse @Failure 400 {object} MatchRuleResponse @Failure 404 {object} MatchRuleResponse @Failure 500 {object} MatchRuleResponse @Param id path string true "ID formatted as string" @Router /v4/match-rules/{id} [get].
@Summary Get matchRules @Description Returns a list of matchRules @Tags MatchRules @Produce json @Success 200 {object} MatchRuleListResponse @Failure 400 {object} MatchRuleListResponse @Failure 500 {object} MatchRuleListResponse @Param priority query uint false "Filter by priority" @Param match query string false "Filter by match" @Param account query string false "Filter by account ID" @Param offset query uint false "The offset of the first Match Rule returned.
@Summary Get data about a month @Description Returns data about a specific month.
@Summary Get MonthConfig @Description Returns configuration for a specific month @Tags Envelopes @Produce json @Success 200 {object} MonthConfigResponse @Failure 400 {object} MonthConfigResponse @Failure 404 {object} MonthConfigResponse @Failure 500 {object} MonthConfigResponse @Param id path string true "ID of the Envelope" @Param month path string true "The month in YYYY-MM format" @Router /v4/envelopes/{id}/{month} [get].
@Summary Get transaction @Description Returns a specific transaction @Tags Transactions @Produce json @Success 200 {object} TransactionResponse @Failure 400 {object} TransactionResponse @Failure 404 {object} TransactionResponse @Failure 500 {object} TransactionResponse @Param id path string true "ID formatted as string" @Router /v4/transactions/{id} [get].
@Summary Get transactions @Description Returns a list of transactions @Tags Transactions @Produce json @Success 200 {object} TransactionListResponse @Failure 400 {object} TransactionListResponse @Failure 500 {object} TransactionListResponse @Router /v4/transactions [get] @Param date query string false "Date of the transaction.
@Summary Import YNAB 4 budget @Description Imports budgets from YNAB 4 @Tags Import @Accept multipart/form-data @Produce json @Success 201 {object} BudgetResponse @Failure 400 {object} BudgetResponse @Failure 500 {object} BudgetResponse @Param file formData file true "File to import" @Param budgetName query string false "Name of the Budget to create" @Router /v4/import/ynab4 [post].
@Summary Transaction Import Preview @Description Returns a preview of transactions to be imported after parsing a YNAB Import format csv file @Tags Import @Accept multipart/form-data @Produce json @Success 200 {object} ImportPreviewList @Failure 400 {object} ImportPreviewList @Failure 404 {object} ImportPreviewList @Failure 500 {object} ImportPreviewList @Param file formData file true "File to import" @Param accountId query string false "ID of the account to import transactions for" @Router /v4/import/ynab-import-preview [post].
Options returns the allowed HTTP methods
@Summary Allowed HTTP verbs @Description Returns an empty response with the HTTP Header "allow" set to the allowed HTTP verbs @Tags v4 @Success 204 @Router /v4 [options].
@Summary Allowed HTTP verbs @Description Returns an empty response with the HTTP Header "allow" set to the allowed HTTP verbs @Tags Accounts @Success 204 @Failure 400 {object} httpError @Failure 404 {object} httpError @Failure 500 {object} httpError @Param id path string true "ID formatted as string" @Router /v4/accounts/{id} [options].
@Summary Allowed HTTP verbs @Description Returns an empty response with the HTTP Header "allow" set to the allowed HTTP verbs @Tags Accounts @Success 204 @Router /v4/accounts [options].
@Summary Allowed HTTP verbs @Description Returns an empty response with the HTTP Header "allow" set to the allowed HTTP verbs @Tags Budgets @Success 204 @Failure 400 {object} httpError @Failure 404 {object} httpError @Failure 500 {object} httpError @Param id path string true "ID formatted as string" @Router /v4/budgets/{id} [options].
@Summary Allowed HTTP verbs @Description Returns an empty response with the HTTP Header "allow" set to the allowed HTTP verbs @Tags Budgets @Success 204 @Router /v4/budgets [options].
@Summary Allowed HTTP verbs @Description Returns an empty response with the HTTP Header "allow" set to the allowed HTTP verbs @Tags Categories @Success 204 @Failure 400 {object} httpError @Failure 404 {object} httpError @Failure 500 {object} httpError @Param id path string true "ID formatted as string" @Router /v4/categories/{id} [options].
@Summary Allowed HTTP verbs @Description Returns an empty response with the HTTP Header "allow" set to the allowed HTTP verbs @Tags Categories @Success 204 @Router /v4/categories [options].
@Summary Allowed HTTP verbs @Description Returns an empty response with the HTTP Header "allow" set to the allowed HTTP verbs @Tags Envelopes @Success 204 @Failure 400 {object} httpError @Failure 404 {object} httpError @Failure 500 {object} httpError @Param id path string true "ID formatted as string" @Router /v4/envelopes/{id} [options].
@Summary Allowed HTTP verbs @Description Returns an empty response with the HTTP Header "allow" set to the allowed HTTP verbs @Tags Envelopes @Success 204 @Router /v4/envelopes [options].
@Summary Allowed HTTP verbs @Description Returns an empty response with the HTTP Header "allow" set to the allowed HTTP verbs @Tags Export @Success 204 @Router /v4/export [options].
@Summary Allowed HTTP verbs @Description Returns an empty response with the HTTP Header "allow" set to the allowed HTTP verbs @Tags Goals @Success 204 @Failure 400 {object} httpError @Failure 404 {object} httpError @Failure 500 {object} httpError @Param id path string true "ID formatted as string" @Router /v4/goals/{id} [options].
@Summary Allowed HTTP verbs @Description Returns an empty response with the HTTP Header "allow" set to the allowed HTTP verbs @Tags Goals @Success 204 @Router /v4/goals [options].
@Summary Allowed HTTP verbs @Description Returns an empty response with the HTTP Header "allow" set to the allowed HTTP verbs.
@Summary Allowed HTTP verbs @Description Returns an empty response with the HTTP Header "allow" set to the allowed HTTP verbs @Tags Import @Success 204 @Router /v4/import/ynab4 [options].
@Summary Allowed HTTP verbs @Description Returns an empty response with the HTTP Header "allow" set to the allowed HTTP verbs @Tags Import @Success 204 @Router /v4/import/ynab-import-preview [options].
@Summary Allowed HTTP verbs @Description Returns an empty response with the HTTP Header "allow" set to the allowed HTTP verbs @Tags MatchRules @Success 204 @Failure 400 {object} httpError @Failure 404 {object} httpError @Failure 500 {object} httpError @Param id path string true "ID formatted as string" @Router /v4/match-rules/{id} [options].
@Summary Allowed HTTP verbs @Description Returns an empty response with the HTTP Header "allow" set to the allowed HTTP verbs @Tags MatchRules @Success 204 @Router /v4/match-rules [options].
@Summary Allowed HTTP verbs @Description Returns an empty response with the HTTP Header "allow" set to the allowed HTTP verbs.
@Summary Allowed HTTP verbs @Description Returns an empty response with the HTTP Header "allow" set to the allowed HTTP verbs @Tags Envelopes @Success 204 @Failure 400 {object} httpError @Param id path string true "ID of the Envelope" @Param month path string true "The month in YYYY-MM format" @Router /v4/envelopes/{id}/{month} [options].
@Summary Allowed HTTP verbs @Description Returns an empty response with the HTTP Header "allow" set to the allowed HTTP verbs @Tags Transactions @Success 204 @Failure 400 {object} httpError @Failure 404 {object} httpError @Failure 500 {object} httpError @Param id path string true "ID formatted as string" @Router /v4/transactions/{id} [options].
@Summary Allowed HTTP verbs @Description Returns an empty response with the HTTP Header "allow" set to the allowed HTTP verbs @Tags Transactions @Success 204 @Router /v4/transactions [options].
RegisterAccountRoutes registers the routes for accounts with the RouterGroup that is passed.
RegisterBudgetRoutes registers the routes for Budgets with the RouterGroup that is passed.
RegisterCategoryRoutes registers the routes for categories with the RouterGroup that is passed.
RegisterEnvelopeRoutes registers the routes for envelopes with the RouterGroup that is passed.
No description provided by the author
No description provided by the author
RegisterImportRoutes registers the routes for imports.
RegisterMatchRuleRoutes registers the routes for matchRules with the RouterGroup that is passed.
RegisterMonthConfigRoutes registers the routes for transactions with the RouterGroup that is passed.
RegisterMonthRoutes registers the routes for months with the RouterGroup that is passed.
No description provided by the author
RegisterTransactionRoutes registers the routes for transactions with the RouterGroup that is passed.
@Summary Set allocations for a month @Description Sets allocations for a month for all envelopes that do not have an allocation yet @Tags Months @Success 204 @Failure 400 {object} httpError @Failure 404 {object} httpError @Failure 500 {object} httpError @Param budget query string true "ID formatted as string" @Param month query string true "The month in YYYY-MM format" @Param mode body BudgetAllocationMode true "Budget" @Router /v4/months [post].
@Summary Update account @Description Updates an account.
@Summary Update budget @Description Update an existing budget.
@Summary Update category @Description Update an existing category.
@Summary Update envelope @Description Updates an existing envelope.
@Summary Update goal @Description Updates an existing goal.
@Summary Update matchRule @Description Update a matchRule.
@Summary Update MonthConfig @Description Changes configuration for a Month.
@Summary Update transaction @Description Updates an existing transaction.
# Constants
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
# Structs
Account is the API v4 representation of an Account in EZ.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Budget is the API v4 representation of a Budget.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
CategoryEditable represents all user configurable parameters.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
EnvelopeEditable represents all user configurable parameters.
No description provided by the author
No description provided by the author
EnvelopeMonth contains data about an Envelope for a specific month.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
MatchRule is the API representation of a Match Rule.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
MatchRuleQueryFilter contains the fields that Match Rules can be filtered with.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Pagination contains information about the pagination for collection endpoint responses.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Transaction is the representation of a Transaction in API v4.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
TransactionPreview is used to preview transactions that will be imported to allow for editing.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author