Skip to main content

You Need A Budget (YNAB)

You Need A Budget (YNAB) is a personal budgeting application built around zero-based budgeting, where every dollar is assigned to a category. The YNAB API exposes a user's plans (budgets), accounts, categories, payees, and transactions over a REST interface. Nexla connects to the YNAB API to ingest this budgeting data into your data flows and to write transactions, accounts, and scheduled transactions back into a plan.

You Need A Budget (YNAB) icon

Power end-to-end data operations for your You Need A Budget (YNAB) API with Nexla. Our bi-directional You Need A Budget (YNAB) connector is purpose-built for You Need A Budget (YNAB), making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to You Need A Budget (YNAB) or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your You Need A Budget (YNAB) workflows fast, secure, and fully governed.

Features

Type: API

SourceDestination

  • Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
  • Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
  • API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
  • Request optimization with intelligent batching, retry, and caching to minimize API calls and costs

Prerequisites

Before creating a You Need A Budget (YNAB) credential, you need a Personal Access Token for the YNAB API. YNAB uses HTTP Bearer authentication, and the token is sent in the Authorization header of every API request. The API is served from the base URL https://api.ynab.com/v1.

To obtain a Personal Access Token, follow these steps:

  1. Sign in to your YNAB account.

  2. Open Account Settings, scroll down, and locate the Developer Settings section.

  3. Under Personal Access Tokens, click New Token, enter your account password, and confirm.

  4. Copy the generated token immediately and store it in a safe place. The token is shown only once and cannot be retrieved again after you navigate away.

You will also need the id of the plan (budget) you want to operate on. You can supply a specific plan id, use last-used to select the most recently used plan, or use default if default plan selection is enabled on your account.

Treat the Personal Access Token as sensitive information; it grants access to your budgeting data and should be handled with the same care as your account password. If a token is compromised, revoke it from Developer Settings and generate a new one. For details, see the YNAB API documentation.

Authenticate

Credentials required

FieldRequiredSecretDescription
API KeyYesYesPersonal access token generated from YNAB Account Settings > Developer Settings.
Plan IDYesNoThe id of the YNAB plan (budget) to operate on. "last-used" selects the most recently used plan, and "default" can be used if default plan selection is enabled on the account.

Create a credential in Nexla

  1. After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.

  2. Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.

  3. Enter your YNAB Personal Access Token in the API Key field. This token is sent as a Bearer token in the Authorization header for all requests to the YNAB API.

  4. Enter the plan (budget) id in the Plan ID field. Use a specific plan id, or use last-used or default as described in Prerequisites.

    The Personal Access Token grants access to your YNAB budgeting data and must be kept confidential. If it is compromised, revoke it in your YNAB Developer Settings and generate a new one.

    For more information about the YNAB API, authentication, and available endpoints, see the YNAB API documentation.

  5. Click the Save button at the bottom of the overlay. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation.

Use as a data source

To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the You Need A Budget (YNAB) connector tile, then select the credential that will be used to connect to YNAB, and click Next; or, create a new YNAB credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common YNAB endpoints. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below.

[Rest API] List Plans

Retrieve all plans (budgets) for the authenticated user.

  • Use this template to discover the plans available to your Personal Access Token, including each plan's id. The returned plan ids can be used to populate the Plan ID field on other YNAB endpoints.

For more information about this endpoint and its response fields, see the YNAB API documentation.

[Rest API] List Accounts

Retrieve all accounts for a plan.

  • This endpoint returns the accounts belonging to the plan configured in your credential, including account names, types, and balances.

For more information about this endpoint and its response fields, see the YNAB API documentation.

[Rest API] List Categories

Retrieve all categories for a plan, grouped by category group.

  • This endpoint returns every category in the plan along with its budgeted, activity, and balance amounts, organized under its parent category group.

For more information about this endpoint and its response fields, see the YNAB API documentation.

[Rest API] List Payees

Retrieve all payees for a plan.

  • This endpoint returns the payees defined in the plan, which can be used to enrich or reconcile transaction data.

For more information about this endpoint and its response fields, see the YNAB API documentation.

[Rest API] List Transactions

Retrieve all transactions for a plan, excluding pending transactions.

  • This endpoint returns the posted transactions for the plan, including amounts, dates, accounts, payees, and category assignments.

For more information about this endpoint and its response fields, see the YNAB API documentation.

[Rest API] List Scheduled Transactions

Retrieve all scheduled (future-dated) transactions for a plan.

  • This endpoint returns transactions that are scheduled to occur on a future date, including their frequency and target account and category.

For more information about this endpoint and its response fields, see the YNAB API documentation.

Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.

Manual configuration

You Need A Budget (YNAB) data sources can also be manually configured to ingest data from any valid YNAB API endpoint, including endpoints not covered by the pre-built templates, chained API calls, or custom request parameters. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, date/time and lookup macros, path to data, metadata, and request headers.

Once all of the relevant settings have been configured, click the Create button in the upper right corner of the screen to save and create the new YNAB data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.

Use as a destination

Click the + icon on the Nexset that will be sent to the YNAB destination, and select the Send to Destination option from the menu. Select the You Need A Budget (YNAB) connector from the list of available destination connectors, then select the credential that will be used to connect to YNAB, and click Next; or, create a new YNAB credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common YNAB endpoints. Select the endpoint to which data will be sent from the Endpoint pulldown menu. Then, click on the template in the list below to expand it, and follow the instructions to configure additional endpoint settings.

[Rest API] Create Transactions

Create one or more transactions in a plan.

  • Records from your Nexset are sent as JSON in the request body to add new transactions to the plan configured in your credential. Each record should contain the transaction data in the format required by the YNAB API.

For more information about this endpoint and the expected request body, see the YNAB API documentation.

[Rest API] Update Transactions

Update one or more transactions in a plan, by id or import_id.

  • Records from your Nexset are sent as JSON in the request body to update existing transactions in the plan. Each record must identify the transaction to update by its id or import_id.

For more information about this endpoint and the expected request body, see the YNAB API documentation.

[Rest API] Create Account

Create a new account in a plan.

  • Records from your Nexset are sent as JSON in the request body to add a new account to the plan configured in your credential, including the account name, type, and starting balance.

For more information about this endpoint and the expected request body, see the YNAB API documentation.

[Rest API] Create Scheduled Transaction

Create a new scheduled transaction (a transaction with a future date) in a plan.

  • Records from your Nexset are sent as JSON in the request body to add a new scheduled transaction to the plan, including its future date and recurrence.

For more information about this endpoint and the expected request body, see the YNAB API documentation.

[Rest API] Update Category

Update a category in a plan.

  • Records from your Nexset are sent as JSON in the request body to update an existing category in the plan. This endpoint requires a Category ID parameter identifying the category to update.

For more information about this endpoint and the expected request body, see the YNAB API documentation.

Manual configuration

You Need A Budget (YNAB) destinations can also be manually configured to send data to any valid YNAB API endpoint. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, data format, endpoint URL, request headers, attribute exclusions, record batching, and response webhooks.

The YNAB API expects JSON for write operations. For update operations, include the id of the object to be updated as required by the endpoint.

Save & activate

Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To send the data to the configured YNAB endpoint, open the destination resource menu, and select Activate.

The Nexset data will not be sent to the YNAB endpoint until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.