@lunch-money/developer-docs 2.11.0-preview.9 → 2.11.1-docs.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs/README.md +1 -0
- package/docs/STYLE_GUIDE.md +88 -0
- package/docs/amounts-and-balances.md +5 -5
- package/docs/beta-introduction.md +9 -0
- package/docs/branding-your-app.md +59 -0
- package/docs/currencies.md +8 -9
- package/docs/getting-started.md +14 -14
- package/docs/introduction.md +5 -9
- package/docs/locales.md +124 -0
- package/docs/pagination.md +43 -44
- package/docs/rate-limiting.md +45 -45
- package/docs/using-with-ai.md +2 -2
- package/manifest.json +19 -1
- package/package.json +1 -1
- package/v1/_user.md +2 -2
- package/v2/docs/AGENTS.md +48 -0
- package/v2/docs/intro-to-v2.md +12 -12
- package/v2/docs/migration-guide.md +2 -2
- package/v2/docs/version-history.md +28 -19
- package/v2/images/powered-by-lunch-money-badge.png +0 -0
- package/v2/spec/AGENTS.md +75 -0
- package/v2/spec/lunch-money-api-v2.yaml +1260 -359
package/docs/README.md
CHANGED
|
@@ -5,6 +5,7 @@ This directory contains documentation that applies across all API versions.
|
|
|
5
5
|
## Current Documents
|
|
6
6
|
|
|
7
7
|
- `pagination.md` - Pagination guidelines
|
|
8
|
+
- `branding-your-app.md` - Brand assets and usage guidelines for apps built on Lunch Money
|
|
8
9
|
- (To be added) Other version-independent documentation
|
|
9
10
|
|
|
10
11
|
## Version-Specific Documentation
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# Documentation style guide
|
|
2
|
+
|
|
3
|
+
Use this guide for hand-written Markdown in `docs/` and `v2/docs/`. Preserve
|
|
4
|
+
intentional conventions in generated pages, the v1 Slate reference, and version
|
|
5
|
+
history entries.
|
|
6
|
+
|
|
7
|
+
## Voice and structure
|
|
8
|
+
|
|
9
|
+
- Address the reader as “you” and use direct, practical language.
|
|
10
|
+
- Start with the reader's goal before introducing protocol or API details.
|
|
11
|
+
- Use one H1 per page and keep heading levels in logical order.
|
|
12
|
+
- Use sentence case for prose headings. Preserve official names, initialisms,
|
|
13
|
+
endpoint paths, property names, and exact UI labels.
|
|
14
|
+
- Add a next step when a guide belongs to a longer reader journey. Use
|
|
15
|
+
`## Need help?` only when the page provides support options.
|
|
16
|
+
|
|
17
|
+
## Terminology
|
|
18
|
+
|
|
19
|
+
- Use “Lunch Money” for the product and “Lunchbag Labs, Inc.” only when the
|
|
20
|
+
legal company name is required.
|
|
21
|
+
- Use “Developer Portal,” “Developers page,” and “API reference” consistently.
|
|
22
|
+
Preserve different capitalization only for an exact UI label.
|
|
23
|
+
- Use “budget account” for the Lunch Money data container that holds a budget,
|
|
24
|
+
transactions, categories, and financial accounts. Use “account” only when the
|
|
25
|
+
context is unambiguous, and preserve exact UI labels such as “Create a New
|
|
26
|
+
Budget Account.”
|
|
27
|
+
- Write “v1” and “v2” in prose. Use “V2 API” only where it is an established
|
|
28
|
+
proper label, such as the rendered reference title.
|
|
29
|
+
- Distinguish authentication from authorization, personal access tokens from
|
|
30
|
+
OAuth access tokens, and applications from their registered OAuth clients.
|
|
31
|
+
|
|
32
|
+
## Code and placeholders
|
|
33
|
+
|
|
34
|
+
- Format endpoints, properties, headers, status codes, commands, filenames,
|
|
35
|
+
scope names, and literal values as code.
|
|
36
|
+
- Use `YOUR_ACCESS_TOKEN` as the generic access-token placeholder. Environment
|
|
37
|
+
variable examples may use `LUNCH_MONEY_ACCESS_TOKEN`.
|
|
38
|
+
- For equivalent multi-language examples, order tabs as JavaScript/Node.js,
|
|
39
|
+
Python, then cURL. Comparison tabs may follow the order that best teaches the
|
|
40
|
+
difference.
|
|
41
|
+
- Keep examples fictional and never include or request real credentials.
|
|
42
|
+
|
|
43
|
+
## Callouts
|
|
44
|
+
|
|
45
|
+
Use the supported blockquote form:
|
|
46
|
+
|
|
47
|
+
```markdown
|
|
48
|
+
> [!NOTE] Optional title
|
|
49
|
+
> Supporting content.
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
- Use `NOTE` for context that affects understanding.
|
|
53
|
+
- Use `TIP` for optional advice or a more effective workflow.
|
|
54
|
+
- Use `WARNING` for credible security, privacy, data-loss, breaking-change, or
|
|
55
|
+
operational risk.
|
|
56
|
+
- Use sentence case for optional callout titles. Do not use HTML line breaks to
|
|
57
|
+
separate callout paragraphs.
|
|
58
|
+
|
|
59
|
+
## Tabs
|
|
60
|
+
|
|
61
|
+
Use tabs when equivalent examples in multiple languages or a focused comparison
|
|
62
|
+
are easier to understand together:
|
|
63
|
+
|
|
64
|
+
```markdown
|
|
65
|
+
:::tabs
|
|
66
|
+
@tab JavaScript/Node.js
|
|
67
|
+
JavaScript example
|
|
68
|
+
|
|
69
|
+
@tab Python
|
|
70
|
+
Python example
|
|
71
|
+
:::
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
Use an `@tab` label for each panel and close the container with `:::`. For
|
|
75
|
+
equivalent language examples, order tabs as JavaScript/Node.js, Python, then
|
|
76
|
+
cURL. Comparison tabs may use the order that best teaches the difference.
|
|
77
|
+
|
|
78
|
+
## Links and presentation
|
|
79
|
+
|
|
80
|
+
- Use canonical documentation paths from `manifest.json`. Keep aliases only for
|
|
81
|
+
compatibility; do not introduce new links to aliases.
|
|
82
|
+
- Use normal Markdown links for internal navigation. Keep HTML only when it adds
|
|
83
|
+
behavior Markdown cannot express, such as opening an external link in a new
|
|
84
|
+
tab.
|
|
85
|
+
- Avoid deeply nested headings, very wide tables, and long unbroken text that is
|
|
86
|
+
difficult to use in the constrained content column.
|
|
87
|
+
- Remove trailing whitespace and use blank lines, not `<br>`, for Markdown
|
|
88
|
+
structure unless a verified rendering requirement needs HTML.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Amounts &
|
|
1
|
+
# Amounts & balances
|
|
2
2
|
|
|
3
3
|
The Lunch Money API uses four properties — `amount`, `balance`, `currency`, and `to_base` — consistently across all objects that deal with money. Understanding how they work will help you build accurate, multi-currency-aware integrations.
|
|
4
4
|
|
|
@@ -24,7 +24,7 @@ Like `amount`, `balance` is always in the `currency` of the same object and foll
|
|
|
24
24
|
|
|
25
25
|
## `currency`
|
|
26
26
|
|
|
27
|
-
`currency` is an ISO 4217 currency code (e.g., `"usd"`, `"eur"`, `"gbp"`). It is present on every object that carries an `amount` or `balance` and tells you what currency those values are in. See the [Supported
|
|
27
|
+
`currency` is an ISO 4217 currency code (e.g., `"usd"`, `"eur"`, `"gbp"`). It is present on every object that carries an `amount` or `balance` and tells you what currency those values are in. See the [Supported currencies guide](/currencies) for the full list.
|
|
28
28
|
|
|
29
29
|
## `to_base`
|
|
30
30
|
|
|
@@ -42,7 +42,7 @@ Like `amount`, `balance` is always in the `currency` of the same object and foll
|
|
|
42
42
|
- Display amounts and balances in a single consistent currency across a multi-currency account
|
|
43
43
|
- Perform arithmetic across transactions or accounts in different currencies
|
|
44
44
|
|
|
45
|
-
## Sign
|
|
45
|
+
## Sign convention
|
|
46
46
|
|
|
47
47
|
### Transaction amounts
|
|
48
48
|
|
|
@@ -70,10 +70,10 @@ A negative balance indicates the reversed state for that account type:
|
|
|
70
70
|
- A savings account in overdraft has a negative `balance`
|
|
71
71
|
- A credit card where the issuer owes you money (e.g., after a refund or overpayment) has a negative `balance`
|
|
72
72
|
|
|
73
|
-
> [!NOTE] App
|
|
73
|
+
> [!NOTE] App display setting
|
|
74
74
|
> The Lunch Money app has a setting — **"Show Debits as Negative, Credits as Positive"** — that can flip how amounts are displayed in the UI. This setting is exposed in the API as `debits_as_negative` on the User object. **It has no effect on the API.** The API always returns positive values for debits and negative values for credits regardless of this setting. Apps may read `debits_as_negative` to match the user's preferred display format when showing amounts in their own UI.
|
|
75
75
|
|
|
76
|
-
## Exception:
|
|
76
|
+
## Exception: budget and summary amounts
|
|
77
77
|
|
|
78
78
|
Budget objects and summary response objects don't use the transaction sign convention. Direction is conveyed by the **structure of the response** rather than the sign of the value — amounts are always positive magnitudes, and the object type or category flag tells you whether that activity is income or expense.
|
|
79
79
|
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
**Beta Preview Portal** — This developer portal previews planned changes including:
|
|
2
|
+
- Beta versions of new [v2 API](/v2/docs) endpoints:
|
|
3
|
+
- [GET /me/account/settings](v2/docs#tag/me/GET/me/account/settings)
|
|
4
|
+
- [PUT /me/account/settings](v2/docs#tag/me/PUT/me/account/settings)
|
|
5
|
+
- [GET /me/user/settings](v2/docs#tag/me/GET/me/user/settings)
|
|
6
|
+
- [PUT /me/user/settings](v2/docs#tag/me/PUT/me/user/settings)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
Feedback is welcome. [Email dev-support@lunchmoney.app](mailto:dev-support@lunchmoney.app) or join us in the [developers channel](https://discord.com/channels/842337014556262411/1134594318414389258) on the [Lunch Money Discord](https://lunchmoney.app/discord).
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# Branding your app
|
|
2
|
+
|
|
3
|
+
Building a tool, plugin, or integration on top of Lunch Money? Use the official **Powered by Lunch Money** badge to credit the connection clearly — without implying that your app *is* Lunch Money.
|
|
4
|
+
|
|
5
|
+
<a href="https://lunchmoney.app/assets/images/media-kit/powered-by-lunch-money-badge.png" download="powered-by-lunch-money-badge.png" target="_blank" rel="noopener noreferrer" title="Download Powered by Lunch Money badge">
|
|
6
|
+
<img src="/v2/images/powered-by-lunch-money-badge.png" alt="Powered by Lunch Money badge" width="320" />
|
|
7
|
+
</a>
|
|
8
|
+
|
|
9
|
+
> [!TIP]
|
|
10
|
+
> Click the badge to download it (or open the PNG in a new tab).
|
|
11
|
+
>
|
|
12
|
+
> Link it to <a href="https://lunchmoney.app/" target="_blank" rel="noopener noreferrer">lunchmoney.app</a> when you place it in a README, docs page, or app footer.
|
|
13
|
+
|
|
14
|
+
For additional logos, colors, typography, screenshots, and full brand usage guidelines, see the <a href="https://lunchmoney.app/media-kit/" target="_blank" rel="noopener noreferrer">Lunch Money Media Kit</a>.
|
|
15
|
+
## Naming
|
|
16
|
+
|
|
17
|
+
- Refer to the product as **Lunch Money**
|
|
18
|
+
- Refer to the company as **Lunchbag Labs, Inc.** when a legal or company name is needed
|
|
19
|
+
- Link to <a href="https://lunchmoney.app/" target="_blank" rel="noopener noreferrer">lunchmoney.app</a> when you mention the product
|
|
20
|
+
|
|
21
|
+
Avoid nicknames, abbreviations, or stylized spellings of the product name in user-facing copy.
|
|
22
|
+
|
|
23
|
+
## Usage guidelines
|
|
24
|
+
|
|
25
|
+
### Do
|
|
26
|
+
|
|
27
|
+
- Use official logos without alteration
|
|
28
|
+
- Use the **Powered by** badge when acknowledging Lunch Money
|
|
29
|
+
- Keep enough clear space around logos so they stay readable
|
|
30
|
+
- Download assets from the media kit rather than cropping screenshots of the logo
|
|
31
|
+
|
|
32
|
+
### Don't
|
|
33
|
+
|
|
34
|
+
- Stretch, rotate, or recolor logos
|
|
35
|
+
- Add effects, shadows, or outlines to the logo
|
|
36
|
+
- Modify the smiling coin mascot character
|
|
37
|
+
- Imply endorsement, partnership, or official status without permission
|
|
38
|
+
|
|
39
|
+
> [!NOTE]
|
|
40
|
+
> The Lunch Money name, logo, and mascot character are trademarks of Lunchbag Labs, Inc. All rights reserved.
|
|
41
|
+
|
|
42
|
+
## Suggested placements
|
|
43
|
+
|
|
44
|
+
A few common, low-friction ways to brand an integration:
|
|
45
|
+
|
|
46
|
+
1. **README or docs** — a short "Built with Lunch Money" line plus the Powered by badge linking to <a href="https://lunchmoney.app/" target="_blank" rel="noopener noreferrer">lunchmoney.app</a>
|
|
47
|
+
2. **App footer or about screen** — the Powered by badge next to your own branding
|
|
48
|
+
3. **Onboarding or connect flow** — official logo when prompting users to authorize or paste an access token
|
|
49
|
+
4. **Community listings** — consistent naming ("My Tool for Lunch Money") so users can find and trust your project
|
|
50
|
+
|
|
51
|
+
Keep your own product name primary. Lunch Money branding should signal the connection, not compete with your identity.
|
|
52
|
+
|
|
53
|
+
## Need help?
|
|
54
|
+
|
|
55
|
+
If you're unsure whether a use is appropriate, or you need a format that isn't listed here:
|
|
56
|
+
|
|
57
|
+
- Start with the <a href="https://lunchmoney.app/media-kit/" target="_blank" rel="noopener noreferrer">Media Kit</a>
|
|
58
|
+
- Ask in the <a href="https://lunchmoney.app/discord" target="_blank" rel="noopener noreferrer">Lunch Money Discord</a> **#developer-api** channel
|
|
59
|
+
- [Email our developer advocate](mailto:jp@lunchmoney.app)
|
package/docs/currencies.md
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
# Supported
|
|
1
|
+
# Supported currencies
|
|
2
2
|
|
|
3
3
|
Lunch Money supports a wide range of currencies for transactions and accounts. All currency values in the API use three-letter lowercase currency codes in ISO 4217 format.
|
|
4
4
|
|
|
5
|
-
## Currency
|
|
5
|
+
## Currency code format
|
|
6
6
|
|
|
7
7
|
Currency codes must be:
|
|
8
8
|
- Three letters
|
|
9
9
|
- Lowercase
|
|
10
10
|
- Valid ISO 4217 currency codes
|
|
11
11
|
|
|
12
|
-
## Supported
|
|
12
|
+
## Supported currencies
|
|
13
13
|
|
|
14
14
|
The following currencies are currently supported in Lunch Money:
|
|
15
15
|
|
|
@@ -183,7 +183,7 @@ The following currencies are currently supported in Lunch Money:
|
|
|
183
183
|
| `zmw` | Zambian Kwacha |
|
|
184
184
|
| `zwl` | Zimbabwean Dollar |
|
|
185
185
|
|
|
186
|
-
## Using
|
|
186
|
+
## Using currencies in the API
|
|
187
187
|
|
|
188
188
|
When creating or updating transactions, accounts, or other resources that include currency information, use the three-letter lowercase currency code:
|
|
189
189
|
|
|
@@ -247,11 +247,11 @@ curl -X POST 'https://api.lunchmoney.dev/v2/transactions' \
|
|
|
247
247
|
```
|
|
248
248
|
:::
|
|
249
249
|
|
|
250
|
-
## Default
|
|
250
|
+
## Default currency
|
|
251
251
|
|
|
252
252
|
If you don't specify a currency when creating a transaction or account, Lunch Money will default to your account's primary currency. You can check your primary currency by calling the `GET /v2/me` endpoint.
|
|
253
253
|
|
|
254
|
-
## Currency
|
|
254
|
+
## Currency validation
|
|
255
255
|
|
|
256
256
|
The API validates that currency codes match the supported list. If you provide an unsupported currency code, you'll receive a validation error:
|
|
257
257
|
|
|
@@ -268,10 +268,9 @@ The API validates that currency codes match the supported list. If you provide a
|
|
|
268
268
|
}
|
|
269
269
|
```
|
|
270
270
|
|
|
271
|
-
## Requesting
|
|
271
|
+
## Requesting new currencies
|
|
272
272
|
|
|
273
273
|
If your currency is missing from the supported list, please let us know via email at [support@lunchmoney.app](mailto:support@lunchmoney.app) and we'll work on getting it added.
|
|
274
274
|
|
|
275
|
-
> [!NOTE] Currency
|
|
275
|
+
> [!NOTE] Currency support
|
|
276
276
|
> Currency support is continuously expanding. If you need a currency that's not currently listed, reach out to our support team and we'll prioritize adding it.
|
|
277
|
-
|
package/docs/getting-started.md
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
# Getting
|
|
1
|
+
# Getting started with the API
|
|
2
2
|
|
|
3
3
|
Welcome to the Lunch Money developer API! This API has enabled the Lunch Money user community to build a broad set of tools and plug-ins to complement their Lunch Money experience and help other users. This guide will help you get started using the Lunch Money API.
|
|
4
4
|
|
|
5
5
|
Most users interact with their Lunch Money data using the official web or mobile app. Making API calls is another way to interact with your Lunch Money data. You can make API calls that **get** your data for you, allowing you to do other things with it, like generating your own charts or simply archiving your data. You can also make API calls that **change** or **delete** your data. Any changes you make are permanent, just like they would be if you made changes using the web or mobile app.
|
|
6
6
|
|
|
7
7
|
> [!WARNING]
|
|
8
|
-
> Changes made via the API are permanent and cannot be undone
|
|
8
|
+
> Changes made via the API are permanent and cannot be undone. Always use a test budget when getting started.
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
## Create a
|
|
11
|
+
## Create a test budget account
|
|
12
12
|
|
|
13
|
-
Since changes to your data made by the API are permanent, the best way to begin interacting with the API is to <a href="https://support.lunchmoney.app/miscellaneous/unlimited-budgeting-accounts" target="_blank" rel="noopener noreferrer">create a new test
|
|
13
|
+
Since changes to your data made by the API are permanent, the best way to begin interacting with the API is to <a href="https://support.lunchmoney.app/miscellaneous/unlimited-budgeting-accounts" target="_blank" rel="noopener noreferrer">create a new test budget account</a> in your existing Lunch Money account. As you start using the API, you can interact with this test account and ensure that your real data is not modified.
|
|
14
14
|
|
|
15
15
|
:::tabs
|
|
16
16
|
|
|
@@ -29,13 +29,13 @@ Choose the option to "Set up Demo". This will add categories, accounts, tags and
|
|
|
29
29
|
|
|
30
30
|
## Getting an access token
|
|
31
31
|
|
|
32
|
-
Lunch Money API requests are authenticated using the Bearer Token authentication method. In plain English, this means that you will pass a token associated with your
|
|
32
|
+
Lunch Money API requests are authenticated using the Bearer Token authentication method. In plain English, this means that you will pass a token associated with your budget account to Lunch Money. This is so we know which account to operate on and that the request came from someone who can access that account.
|
|
33
33
|
|
|
34
34
|
:::tabs
|
|
35
35
|
|
|
36
36
|
@tab 1. Go to the Developers Page
|
|
37
37
|
|
|
38
|
-
Navigate to <a href="https://my.lunchmoney.app/developers" target="_blank" rel="noopener noreferrer">the developers page in the Lunch Money web app</a>. Look at the green circle in the upper right hand corner and make sure that it is showing the test account that you just created. If you aren't sure which account is active, you can click on the green circle to bring up the "Switch Accounts" dialog. This will show you the full names of all the accounts associated with your account. Select the test
|
|
38
|
+
Navigate to <a href="https://my.lunchmoney.app/developers" target="_blank" rel="noopener noreferrer">the developers page in the Lunch Money web app</a>. Look at the green circle in the upper right hand corner and make sure that it is showing the test account that you just created. If you aren't sure which account is active, you can click on the green circle to bring up the "Switch Accounts" dialog. This will show you the full names of all the accounts associated with your account. Select the test budget account you created.
|
|
39
39
|

|
|
40
40
|
|
|
41
41
|
@tab 2. Request Access Token
|
|
@@ -49,7 +49,7 @@ After you do this, the web page will show you a long alphanumeric string. This i
|
|
|
49
49
|
Congratulations! You've got an access token and are ready to make an API request! Later, when you are more comfortable with the API, you can repeat this process to create a new access token associated with your real budget.
|
|
50
50
|
|
|
51
51
|
> [!WARNING]
|
|
52
|
-
> Treat your access tokens like passwords
|
|
52
|
+
> Treat your access tokens like passwords. Don't share them with anyone you don't trust.
|
|
53
53
|
|
|
54
54
|
If you ever worry that your access token has been compromised, you can always come back to the Developers page and hit the Revoke button.
|
|
55
55
|
|
|
@@ -63,21 +63,21 @@ When you start to write code that makes API calls, you will need to include this
|
|
|
63
63
|
|
|
64
64
|
```bash
|
|
65
65
|
curl --location 'https://api.lunchmoney.dev/v2/me' \
|
|
66
|
-
--header 'Authorization: Bearer
|
|
66
|
+
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
|
|
67
67
|
```
|
|
68
68
|
|
|
69
|
-
If this doesn't make sense yet, that's OK!
|
|
69
|
+
If this doesn't make sense yet, that's OK!
|
|
70
70
|
|
|
71
|
-
There is an easier way to use your access token to make requests. Head over to the [API Reference Documentation](/v2/docs).
|
|
71
|
+
There is an easier way to use your access token to make requests. Head over to the [API Reference Documentation](/v2/docs).
|
|
72
72
|
|
|
73
73
|
:::tabs
|
|
74
74
|
|
|
75
75
|
@tab 1. Supply Your Token
|
|
76
|
-
Paste your new token into the box that says "Bearer Token" in the server configuration in the upper right hand corner.
|
|
76
|
+
Paste your new token into the box that says "Bearer Token" in the server configuration in the upper right hand corner.
|
|
77
77
|

|
|
78
78
|
|
|
79
79
|
@tab 2. Make a Test Request
|
|
80
|
-
Scroll down to the section called "Get Current User" and hit the "Test Request" button.
|
|
80
|
+
Scroll down to the section called "Get Current User" and hit the "Test Request" button.
|
|
81
81
|

|
|
82
82
|
:::
|
|
83
83
|
|
|
@@ -85,14 +85,14 @@ This will pop up a dialog box that you can use to send an API request. This is a
|
|
|
85
85
|
|
|
86
86
|
From here, you can explore the rest of the Lunch Money API and start thinking about what you might do with it.
|
|
87
87
|
|
|
88
|
-
## What
|
|
88
|
+
## What can you build?
|
|
89
89
|
|
|
90
90
|
The Lunch Money community has already built a wide variety of tools — automations, importers, dashboards, and more. Check out the <a href="https://lunchmoney.app/developers#community-projects" target="_blank" rel="noopener noreferrer">Developer Tools & Community Projects</a> list for inspiration, or drop by the <a href="https://discord.com/channels/842337014556262411/1134597088504729780" target="_blank" rel="noopener noreferrer">Show and Tell channel</a> on Discord to see what others are sharing.
|
|
91
91
|
|
|
92
92
|
> [!NOTE]
|
|
93
93
|
> Built something with the API? Let us know and we'll add it to the list!
|
|
94
94
|
|
|
95
|
-
##
|
|
95
|
+
## Need help?
|
|
96
96
|
|
|
97
97
|
If you still aren't sure how to get started, we have other resources to help.
|
|
98
98
|
|
package/docs/introduction.md
CHANGED
|
@@ -2,11 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Welcome to the Lunch Money developer documentation. This site covers the **v2 API** — the current generation of the Lunch Money API — along with guides, a reference for the legacy v1 API, and tools for exploring the API without touching real data.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
> Alpha Release
|
|
7
|
-
> The v2 API is in open alpha. It is subject to change during this review period and bugs may exist. We strongly encourage using the [mock service](#trying-the-api-without-real-data) or a test budget with sample data as your first step.
|
|
8
|
-
|
|
9
|
-
## Getting Started
|
|
5
|
+
## Getting started
|
|
10
6
|
|
|
11
7
|
The v2 API is available at:
|
|
12
8
|
|
|
@@ -20,9 +16,9 @@ Get your access token from the <a href="https://my.lunchmoney.app/developers" ta
|
|
|
20
16
|
Authorization: Bearer YOUR_ACCESS_TOKEN
|
|
21
17
|
```
|
|
22
18
|
|
|
23
|
-
See the [Getting
|
|
19
|
+
See the [Getting started guide](/getting-started) for a full walkthrough, including how to create a test budget and make your first request.
|
|
24
20
|
|
|
25
|
-
## Trying the API
|
|
21
|
+
## Trying the API without real data
|
|
26
22
|
|
|
27
23
|
The <a href="/v2/docs">interactive API reference</a> lets you make live API requests directly from the documentation — including a **static mock server** you can use to explore the API without an access token or any risk to real data.
|
|
28
24
|
|
|
@@ -38,7 +34,7 @@ Set your Bearer Token to any string of **11 or more characters** — no real tok
|
|
|
38
34
|
|
|
39
35
|
:::
|
|
40
36
|
|
|
41
|
-
## Client
|
|
37
|
+
## Client libraries & SDKs
|
|
42
38
|
|
|
43
39
|
An official **TypeScript SDK** is available:
|
|
44
40
|
- NPM: <a href="https://www.npmjs.com/package/@lunch-money/v2-api-spec" target="_blank" rel="noopener noreferrer">`@lunch-money/v2-api-spec`</a>
|
|
@@ -62,6 +58,6 @@ Join the conversation in the <a href="https://lunchmoney.app/discord" target="_b
|
|
|
62
58
|
|
|
63
59
|
**Useful links:**
|
|
64
60
|
- <a href="/v2/docs">Interactive API Reference</a>
|
|
65
|
-
- [Getting
|
|
61
|
+
- [Getting started guide](/getting-started)
|
|
66
62
|
- <a href="https://github.com/lunch-money/awesome-lunchmoney" target="_blank" rel="noopener noreferrer">Awesome Lunch Money Projects</a>
|
|
67
63
|
- [Contact: devsupport@lunchmoney.app](mailto:devsupport@lunchmoney.app)
|
package/docs/locales.md
ADDED
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
# Supported locales
|
|
2
|
+
|
|
3
|
+
Lunch Money uses locale tags to format numbers and currency amounts in the web
|
|
4
|
+
and mobile apps. Date presentation is controlled separately by the user-level
|
|
5
|
+
date-format settings. See
|
|
6
|
+
[GET /me/user/settings](/v2/docs#tag/me/GET/me/user/settings) for those settings.
|
|
7
|
+
Set the `locale` account setting to one of the supported tags below. The locale
|
|
8
|
+
controls presentation details such as decimal separators, digit grouping, and
|
|
9
|
+
currency symbol or code placement and rendering. It does not change the
|
|
10
|
+
account's selected currency, numeric values, or the representation of dates,
|
|
11
|
+
numbers, and amounts in API responses.
|
|
12
|
+
|
|
13
|
+
## Locale tag format
|
|
14
|
+
|
|
15
|
+
Each supported value combines a language code and a region code, separated by a
|
|
16
|
+
hyphen. For example, `en-US` selects English formatting conventions for the
|
|
17
|
+
United States, while `en-GB` selects English formatting conventions for the
|
|
18
|
+
United Kingdom.
|
|
19
|
+
|
|
20
|
+
## Supported locales
|
|
21
|
+
|
|
22
|
+
The examples format `123456789` as USD. An account's primary currency determines
|
|
23
|
+
the currency symbol and number of fraction digits. Exact spacing and symbol
|
|
24
|
+
rendering may vary slightly by platform and its internationalization
|
|
25
|
+
implementation.
|
|
26
|
+
|
|
27
|
+
| Tag | Language | Region | USD `123456789` example |
|
|
28
|
+
|-----|----------|--------|-------------------------|
|
|
29
|
+
| `sq-AL` | Albanian | Albania | `123 456 789,00 US$` |
|
|
30
|
+
| `be-BY` | Belarusian | Belarus | `123 456 789,00 $` |
|
|
31
|
+
| `bg-BG` | Bulgarian | Bulgaria | `123 456 789,00 щ.д.` |
|
|
32
|
+
| `ca-ES` | Catalan | Spain | `123.456.789,00 USD` |
|
|
33
|
+
| `zh-CN` | Chinese (Simplified) | China | `US$123,456,789.00` |
|
|
34
|
+
| `zh-HK` | Chinese (Traditional) | Hong Kong | `US$123,456,789.00` |
|
|
35
|
+
| `zh-TW` | Chinese (Traditional) | Taiwan | `US$123,456,789.00` |
|
|
36
|
+
| `hr-HR` | Croatian | Croatia | `123.456.789,00 USD` |
|
|
37
|
+
| `cs-CZ` | Czech | Czech Republic | `123 456 789,00 US$` |
|
|
38
|
+
| `da-DK` | Danish | Denmark | `123.456.789,00 US$` |
|
|
39
|
+
| `nl-BE` | Dutch | Belgium | `US$ 123.456.789,00` |
|
|
40
|
+
| `nl-NL` | Dutch | Netherlands | `US$ 123.456.789,00` |
|
|
41
|
+
| `en-AU` | English | Australia | `USD 123,456,789.00` |
|
|
42
|
+
| `en-CA` | English | Canada | `US$123,456,789.00` |
|
|
43
|
+
| `en-IN` | English | India | `$12,34,56,789.00` |
|
|
44
|
+
| `en-IE` | English | Ireland | `US$123,456,789.00` |
|
|
45
|
+
| `en-MT` | English | Malta | `US$123,456,789.00` |
|
|
46
|
+
| `en-NZ` | English | New Zealand | `US$123,456,789.00` |
|
|
47
|
+
| `en-PH` | English | Philippines | `$123,456,789.00` |
|
|
48
|
+
| `en-SG` | English | Singapore | `US$123,456,789.00` |
|
|
49
|
+
| `en-ZA` | English | South Africa | `US$123 456 789,00` |
|
|
50
|
+
| `en-GB` | English | United Kingdom | `US$123,456,789.00` |
|
|
51
|
+
| `en-US` | English | United States | `$123,456,789.00` |
|
|
52
|
+
| `et-EE` | Estonian | Estonia | `123 456 789,00 $` |
|
|
53
|
+
| `fi-FI` | Finnish | Finland | `123 456 789,00 $` |
|
|
54
|
+
| `fr-BE` | French | Belgium | `123 456 789,00 $US` |
|
|
55
|
+
| `fr-CA` | French | Canada | `123 456 789,00 $ US` |
|
|
56
|
+
| `fr-FR` | French | France | `123 456 789,00 $US` |
|
|
57
|
+
| `fr-LU` | French | Luxembourg | `123.456.789,00 $US` |
|
|
58
|
+
| `fr-CH` | French | Switzerland | `123'456'789.00 $US` |
|
|
59
|
+
| `de-AT` | German | Austria | `$ 123.456.789,00` |
|
|
60
|
+
| `de-DE` | German | Germany | `123.456.789,00 $` |
|
|
61
|
+
| `de-LU` | German | Luxembourg | `123.456.789,00 $` |
|
|
62
|
+
| `de-CH` | German | Switzerland | `$ 123'456'789.00` |
|
|
63
|
+
| `el-CY` | Greek | Cyprus | `123.456.789,00 $` |
|
|
64
|
+
| `el-GR` | Greek | Greece | `123.456.789,00 $` |
|
|
65
|
+
| `iw-IL` | Hebrew | Israel | `123,456,789.00 $` |
|
|
66
|
+
| `hi-IN` | Hindi | India | `$12,34,56,789.00` |
|
|
67
|
+
| `hu-HU` | Hungarian | Hungary | `123 456 789,00 USD` |
|
|
68
|
+
| `is-IS` | Icelandic | Iceland | `123.456.789,00 USD` |
|
|
69
|
+
| `in-ID` | Indonesian | Indonesia | `US$123.456.789,00` |
|
|
70
|
+
| `ga-IE` | Irish | Ireland | `$123,456,789.00` |
|
|
71
|
+
| `it-IT` | Italian | Italy | `123.456.789,00 USD` |
|
|
72
|
+
| `it-CH` | Italian | Switzerland | `USD 123'456'789.00` |
|
|
73
|
+
| `ja-JP` | Japanese | Japan | `$123,456,789.00` |
|
|
74
|
+
| `ko-KR` | Korean | South Korea | `US$123,456,789.00` |
|
|
75
|
+
| `lv-LV` | Latvian | Latvia | `123 456 789,00 $` |
|
|
76
|
+
| `lt-LT` | Lithuanian | Lithuania | `123 456 789,00 USD` |
|
|
77
|
+
| `mk-MK` | Macedonian | Macedonia | `123.456.789,00 US$` |
|
|
78
|
+
| `ms-MY` | Malay | Malaysia | `USD 123,456,789.00` |
|
|
79
|
+
| `mt-MT` | Maltese | Malta | `US$123,456,789.00` |
|
|
80
|
+
| `no-NO` | Norwegian | Norway | `123 456 789,00 USD` |
|
|
81
|
+
| `pl-PL` | Polish | Poland | `123 456 789,00 USD` |
|
|
82
|
+
| `pt-BR` | Portuguese | Brazil | `US$ 123.456.789,00` |
|
|
83
|
+
| `pt-PT` | Portuguese | Portugal | `123 456 789,00 US$` |
|
|
84
|
+
| `ro-RO` | Romanian | Romania | `123.456.789,00 USD` |
|
|
85
|
+
| `ru-RU` | Russian | Russia | `123 456 789,00 $` |
|
|
86
|
+
| `sk-SK` | Slovak | Slovakia | `123 456 789,00 USD` |
|
|
87
|
+
| `sl-SI` | Slovenian | Slovenia | `123.456.789,00 $` |
|
|
88
|
+
| `es-AR` | Spanish | Argentina | `US$ 123.456.789,00` |
|
|
89
|
+
| `es-BO` | Spanish | Bolivia | `USD 123.456.789,00` |
|
|
90
|
+
| `es-CL` | Spanish | Chile | `US$123.456.789,00` |
|
|
91
|
+
| `es-CO` | Spanish | Colombia | `US$ 123.456.789,00` |
|
|
92
|
+
| `es-CR` | Spanish | Costa Rica | `USD 123 456 789,00` |
|
|
93
|
+
| `es-DO` | Spanish | Dominican Republic | `US$123,456,789.00` |
|
|
94
|
+
| `es-EC` | Spanish | Ecuador | `$123.456.789,00` |
|
|
95
|
+
| `es-SV` | Spanish | El Salvador | `$123,456,789.00` |
|
|
96
|
+
| `es-GT` | Spanish | Guatemala | `USD 123,456,789.00` |
|
|
97
|
+
| `es-HN` | Spanish | Honduras | `USD 123,456,789.00` |
|
|
98
|
+
| `es-MX` | Spanish | Mexico | `USD 123,456,789.00` |
|
|
99
|
+
| `es-NI` | Spanish | Nicaragua | `USD 123,456,789.00` |
|
|
100
|
+
| `es-PA` | Spanish | Panama | `USD 123,456,789.00` |
|
|
101
|
+
| `es-PY` | Spanish | Paraguay | `USD 123.456.789,00` |
|
|
102
|
+
| `es-PE` | Spanish | Peru | `USD 123,456,789.00` |
|
|
103
|
+
| `es-PR` | Spanish | Puerto Rico | `$123,456,789.00` |
|
|
104
|
+
| `es-ES` | Spanish | Spain | `123.456.789,00 US$` |
|
|
105
|
+
| `es-US` | Spanish | United States | `$123,456,789.00` |
|
|
106
|
+
| `es-UY` | Spanish | Uruguay | `US$ 123.456.789,00` |
|
|
107
|
+
| `es-VE` | Spanish | Venezuela | `USD 123.456.789,00` |
|
|
108
|
+
| `sv-SE` | Swedish | Sweden | `123 456 789,00 US$` |
|
|
109
|
+
| `th-TH` | Thai | Thailand | `US$123,456,789.00` |
|
|
110
|
+
| `tr-TR` | Turkish | Turkey | `$123.456.789,00` |
|
|
111
|
+
| `uk-UA` | Ukrainian | Ukraine | `123 456 789,00 USD` |
|
|
112
|
+
| `vi-VN` | Vietnamese | Vietnam | `123.456.789,00 US$` |
|
|
113
|
+
|
|
114
|
+
## Legacy locale tags
|
|
115
|
+
|
|
116
|
+
The supported list retains two legacy language codes for compatibility:
|
|
117
|
+
|
|
118
|
+
- Use `iw-IL` for Hebrew (Israel). The modern language code is `he`, but
|
|
119
|
+
`he-IL` is not currently accepted by the API.
|
|
120
|
+
- Use `in-ID` for Indonesian (Indonesia). The modern language code is `id`, but
|
|
121
|
+
`id-ID` is not currently accepted by the API.
|
|
122
|
+
|
|
123
|
+
Use the values listed in the table when reading or updating `locale` through the
|
|
124
|
+
API.
|