dratejinn / ynab-open-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
Requires
- php: ^7.4 || ^8.0
- ext-curl: *
- ext-json: *
- ext-mbstring: *
- guzzlehttp/guzzle: ^7.3
- guzzlehttp/psr7: ^1.7 || ^2.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.5
- phpunit/phpunit: ^8.0 || ^9.0
This package is auto-updated.
Last update: 2025-05-11 23:56:27 UTC
README
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
Installation & Usage
Requirements
PHP 7.4 and later. Should also work with PHP 8.0.
Composer
To install the bindings via Composer, add the following to composer.json
:
{ "repositories": [ { "type": "vcs", "url": "https://github.com/GIT_USER_ID/GIT_REPO_ID.git" } ], "require": { "GIT_USER_ID/GIT_REPO_ID": "*@dev" } }
Then run composer install
Manual Installation
Download the files and include autoload.php
:
<?php require_once('/path/to/OpenAPIClient-php/vendor/autoload.php');
Getting Started
Please follow the installation procedure and then run the following:
<?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure Bearer authorization: bearer $config = OpenAPI\Client\Configuration::getDefaultConfiguration()->setAccessToken('YOUR_ACCESS_TOKEN'); $apiInstance = new OpenAPI\Client\Api\AccountsApi( // If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`. // This is optional, `GuzzleHttp\Client` will be used as default. new GuzzleHttp\Client(), $config ); $budget_id = 'budget_id_example'; // string | The id of the budget (\"last-used\" can be used to specify the last used budget and \"default\" can be used if default budget selection is enabled (see: https://api.ynab.com/#oauth-default-budget) $data = new \OpenAPI\Client\Model\PostAccountWrapper(); // \OpenAPI\Client\Model\PostAccountWrapper | The account to create. try { $result = $apiInstance->createAccount($budget_id, $data); print_r($result); } catch (Exception $e) { echo 'Exception when calling AccountsApi->createAccount: ', $e->getMessage(), PHP_EOL; }
API Endpoints
All URIs are relative to https://api.ynab.com/v1
Class | Method | HTTP request | Description |
---|---|---|---|
AccountsApi | createAccount | POST /budgets/{budget_id}/accounts | Create a new account |
AccountsApi | getAccountById | GET /budgets/{budget_id}/accounts/{account_id} | Single account |
AccountsApi | getAccounts | GET /budgets/{budget_id}/accounts | Account list |
BudgetsApi | getBudgetById | GET /budgets/{budget_id} | Single budget |
BudgetsApi | getBudgetSettingsById | GET /budgets/{budget_id}/settings | Budget Settings |
BudgetsApi | getBudgets | GET /budgets | List budgets |
CategoriesApi | getCategories | GET /budgets/{budget_id}/categories | List categories |
CategoriesApi | getCategoryById | GET /budgets/{budget_id}/categories/{category_id} | Single category |
CategoriesApi | getMonthCategoryById | GET /budgets/{budget_id}/months/{month}/categories/{category_id} | Single category for a specific budget month |
CategoriesApi | updateCategory | PATCH /budgets/{budget_id}/categories/{category_id} | Update a category |
CategoriesApi | updateMonthCategory | PATCH /budgets/{budget_id}/months/{month}/categories/{category_id} | Update a category for a specific month |
MonthsApi | getBudgetMonth | GET /budgets/{budget_id}/months/{month} | Single budget month |
MonthsApi | getBudgetMonths | GET /budgets/{budget_id}/months | List budget months |
PayeeLocationsApi | getPayeeLocationById | GET /budgets/{budget_id}/payee_locations/{payee_location_id} | Single payee location |
PayeeLocationsApi | getPayeeLocations | GET /budgets/{budget_id}/payee_locations | List payee locations |
PayeeLocationsApi | getPayeeLocationsByPayee | GET /budgets/{budget_id}/payees/{payee_id}/payee_locations | List locations for a payee |
PayeesApi | getPayeeById | GET /budgets/{budget_id}/payees/{payee_id} | Single payee |
PayeesApi | getPayees | GET /budgets/{budget_id}/payees | List payees |
PayeesApi | updatePayee | PATCH /budgets/{budget_id}/payees/{payee_id} | Update a payee |
ScheduledTransactionsApi | createScheduledTransaction | POST /budgets/{budget_id}/scheduled_transactions | Create a single scheduled transaction |
ScheduledTransactionsApi | getScheduledTransactionById | GET /budgets/{budget_id}/scheduled_transactions/{scheduled_transaction_id} | Single scheduled transaction |
ScheduledTransactionsApi | getScheduledTransactions | GET /budgets/{budget_id}/scheduled_transactions | List scheduled transactions |
TransactionsApi | createTransaction | POST /budgets/{budget_id}/transactions | Create a single transaction or multiple transactions |
TransactionsApi | deleteTransaction | DELETE /budgets/{budget_id}/transactions/{transaction_id} | Deletes an existing transaction |
TransactionsApi | getTransactionById | GET /budgets/{budget_id}/transactions/{transaction_id} | Single transaction |
TransactionsApi | getTransactions | GET /budgets/{budget_id}/transactions | List transactions |
TransactionsApi | getTransactionsByAccount | GET /budgets/{budget_id}/accounts/{account_id}/transactions | List account transactions |
TransactionsApi | getTransactionsByCategory | GET /budgets/{budget_id}/categories/{category_id}/transactions | List category transactions, excluding any pending transactions |
TransactionsApi | getTransactionsByMonth | GET /budgets/{budget_id}/months/{month}/transactions | List transactions in month, excluding any pending transactions |
TransactionsApi | getTransactionsByPayee | GET /budgets/{budget_id}/payees/{payee_id}/transactions | List payee transactions, excluding any pending transactions |
TransactionsApi | importTransactions | POST /budgets/{budget_id}/transactions/import | Import transactions |
TransactionsApi | updateTransaction | PUT /budgets/{budget_id}/transactions/{transaction_id} | Updates an existing transaction |
TransactionsApi | updateTransactions | PATCH /budgets/{budget_id}/transactions | Update multiple transactions |
UserApi | getUser | GET /user | User info |
Models
- Account
- AccountResponse
- AccountResponseData
- AccountType
- AccountsResponse
- AccountsResponseData
- BudgetDetail
- BudgetDetailResponse
- BudgetDetailResponseData
- BudgetSettings
- BudgetSettingsResponse
- BudgetSettingsResponseData
- BudgetSummary
- BudgetSummaryResponse
- BudgetSummaryResponseData
- BulkResponse
- BulkResponseData
- BulkResponseDataBulk
- BulkTransactions
- CategoriesResponse
- CategoriesResponseData
- Category
- CategoryGroup
- CategoryGroupWithCategories
- CategoryResponse
- CategoryResponseData
- CurrencyFormat
- DateFormat
- ErrorDetail
- ErrorResponse
- ExistingTransaction
- HybridTransaction
- HybridTransactionsResponse
- HybridTransactionsResponseData
- MonthDetail
- MonthDetailResponse
- MonthDetailResponseData
- MonthSummariesResponse
- MonthSummariesResponseData
- MonthSummary
- NewTransaction
- PatchCategoryWrapper
- PatchMonthCategoryWrapper
- PatchPayeeWrapper
- PatchTransactionsWrapper
- Payee
- PayeeLocation
- PayeeLocationResponse
- PayeeLocationResponseData
- PayeeLocationsResponse
- PayeeLocationsResponseData
- PayeeResponse
- PayeeResponseData
- PayeesResponse
- PayeesResponseData
- PostAccountWrapper
- PostScheduledTransactionWrapper
- PostTransactionsWrapper
- PutTransactionWrapper
- SaveAccount
- SaveCategory
- SaveCategoryResponse
- SaveCategoryResponseData
- SaveMonthCategory
- SavePayee
- SavePayeeResponse
- SavePayeeResponseData
- SaveScheduledTransaction
- SaveSubTransaction
- SaveTransactionWithIdOrImportId
- SaveTransactionWithOptionalFields
- SaveTransactionsResponse
- SaveTransactionsResponseData
- ScheduledSubTransaction
- ScheduledTransactionDetail
- ScheduledTransactionFrequency
- ScheduledTransactionResponse
- ScheduledTransactionResponseData
- ScheduledTransactionSummary
- ScheduledTransactionsResponse
- ScheduledTransactionsResponseData
- SubTransaction
- TransactionClearedStatus
- TransactionDetail
- TransactionFlagColor
- TransactionResponse
- TransactionResponseData
- TransactionSummary
- TransactionsImportResponse
- TransactionsImportResponseData
- TransactionsResponse
- TransactionsResponseData
- User
- UserResponse
- UserResponseData
Authorization
Authentication schemes defined for the API:
bearer
- Type: Bearer authentication
Tests
To run the tests, use:
composer install vendor/bin/phpunit
Author
About this package
This PHP package is automatically generated by the OpenAPI Generator project:
- API version:
1.72.1
- Generator version:
7.11.0-SNAPSHOT
- Generator version:
- Build package:
org.openapitools.codegen.languages.PhpClientCodegen