#format #open-api #client #was #ynab #response #api-client

ynab-api-async-fork

OpenAPI-generated API bindings for the YNAB API

2 releases

Uses old Rust 2015

new 4.0.0-b2 Jan 8, 2025
4.0.0-b1 Jan 5, 2025

#835 in Database interfaces

Download history 233/week @ 2025-01-03

233 downloads per month

Apache-2.0

235KB
3.5K SLoC

Rust API client for ynab-api

Our API uses a REST based design, leverages the JSON data format, and relies upon HTTPS for transport. We respond with meaningful HTTP response codes and if an error occurs, we include error details in the response body. API Documentation is at https://api.ynab.com

Overview

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

  • API version: 1.72.1
  • Package version: 4.0.0
  • Build package: org.openapitools.codegen.languages.RustClientCodegen

Installation

Put the package under your project folder and add the following to Cargo.toml under [dependencies]:

    openapi = { path = "./generated" }

Documentation for API Endpoints

All URIs are relative to https://api.ynab.com/v1

Class Method HTTP request Description
AccountsApi create_account post /budgets/{budget_id}/accounts Create a new account
AccountsApi get_account_by_id get /budgets/{budget_id}/accounts/{account_id} Single account
AccountsApi get_accounts get /budgets/{budget_id}/accounts Account list
BudgetsApi get_budget_by_id get /budgets/{budget_id} Single budget
BudgetsApi get_budget_settings_by_id get /budgets/{budget_id}/settings Budget Settings
BudgetsApi get_budgets get /budgets List budgets
CategoriesApi get_categories get /budgets/{budget_id}/categories List categories
CategoriesApi get_category_by_id get /budgets/{budget_id}/categories/{category_id} Single category
CategoriesApi get_month_category_by_id get /budgets/{budget_id}/months/{month}/categories/{category_id} Single category for a specific budget month
CategoriesApi update_category patch /budgets/{budget_id}/categories/{category_id} Update a category
CategoriesApi update_month_category patch /budgets/{budget_id}/months/{month}/categories/{category_id} Update a category for a specific month
MonthsApi get_budget_month get /budgets/{budget_id}/months/{month} Single budget month
MonthsApi get_budget_months get /budgets/{budget_id}/months List budget months
PayeeLocationsApi get_payee_location_by_id get /budgets/{budget_id}/payee_locations/{payee_location_id} Single payee location
PayeeLocationsApi get_payee_locations get /budgets/{budget_id}/payee_locations List payee locations
PayeeLocationsApi get_payee_locations_by_payee get /budgets/{budget_id}/payees/{payee_id}/payee_locations List locations for a payee
PayeesApi get_payee_by_id get /budgets/{budget_id}/payees/{payee_id} Single payee
PayeesApi get_payees get /budgets/{budget_id}/payees List payees
PayeesApi update_payee patch /budgets/{budget_id}/payees/{payee_id} Update a payee
ScheduledTransactionsApi create_scheduled_transaction post /budgets/{budget_id}/scheduled_transactions Create a single scheduled transaction
ScheduledTransactionsApi get_scheduled_transaction_by_id get /budgets/{budget_id}/scheduled_transactions/{scheduled_transaction_id} Single scheduled transaction
ScheduledTransactionsApi get_scheduled_transactions get /budgets/{budget_id}/scheduled_transactions List scheduled transactions
TransactionsApi create_transaction post /budgets/{budget_id}/transactions Create a single transaction or multiple transactions
TransactionsApi delete_transaction delete /budgets/{budget_id}/transactions/{transaction_id} Deletes an existing transaction
TransactionsApi get_transaction_by_id get /budgets/{budget_id}/transactions/{transaction_id} Single transaction
TransactionsApi get_transactions get /budgets/{budget_id}/transactions List transactions
TransactionsApi get_transactions_by_account get /budgets/{budget_id}/accounts/{account_id}/transactions List account transactions
TransactionsApi get_transactions_by_category get /budgets/{budget_id}/categories/{category_id}/transactions List category transactions, excluding any pending transactions
TransactionsApi get_transactions_by_month get /budgets/{budget_id}/months/{month}/transactions List transactions in month, excluding any pending transactions
TransactionsApi get_transactions_by_payee get /budgets/{budget_id}/payees/{payee_id}/transactions List payee transactions, excluding any pending transactions
TransactionsApi import_transactions post /budgets/{budget_id}/transactions/import Import transactions
TransactionsApi update_transaction put /budgets/{budget_id}/transactions/{transaction_id} Updates an existing transaction
TransactionsApi update_transactions patch /budgets/{budget_id}/transactions Update multiple transactions
UserApi get_user get /user User info

Documentation For Models

To get access to the crate's generated documentation, use:

cargo doc --open

Author

Jesse Luehrs doy@tozt.net

Based on the OpenAPI spec found at https://api.ynab.com/papi/open_api_spec.yaml by You Need A Budget, LLC

Dependencies

~22MB
~454K SLoC