blob: 2da17c0b326a09e31712ee8e584e86308077ba2d (
plain) (
tree)
|
|
################################################################################
# YNAB
################################################################################
:ynab = https://api.youneedabudget.com/v1
:ynab-access-token := (getenv "ynab_personal_access_token")
:ynab-budget-id := (getenv "ynab_budget_id")
:ynab-account-id := (getenv "ynab_account_id")
# Test
GET :ynab/budgets
Authorization: Bearer :ynab-access-token
# List transactions
GET :ynab/budgets/:ynab-budget-id/transactions
Authorization: Bearer :ynab-access-token
# Post transactions
POST :ynab/budgets/:ynab-budget-id/transactions
Authorization: Bearer :ynab-access-token
Content-Type: application/json
{
"transactions": [
{
"account_id": ":ynab-account-id",
"date": "2019-12-30",
"amount": 10000,
"payee_name": "Richard Stallman",
"memo": "Not so free software after all...",
"cleared": "cleared",
"approved": true,
"flag_color": "red",
"import_id": "xyz-123"
}
]
}
################################################################################
# Monzo
################################################################################
:monzo = https://api.monzo.com
:monzo-access-token := (getenv "monzo_cached_access_token")
:monzo-refresh-token := (getenv "monzo_cached_refresh_token")
:monzo-client-id := (getenv "monzo_client_id")
:monzo-client-secret := (getenv "monzo_client_secret")
:monzo-account-id := (getenv "monzo_account_id")
# List transactions
GET :monzo/transactions
Authorization: Bearer :monzo-access-token
account_id==:monzo-account-id
# Refresh access token
# According from the docs, the access token expires in 6 hours.
POST :monzo/oauth2/token
Content-Type: application/x-www-form-urlencoded
Authorization: Bearer :monzo-access-token
grant_type=refresh_token&client_id=:monzo-client-id&client_secret=:monzo-client-secret&refresh_token=:monzo-refresh-token
################################################################################
# Tokens server
################################################################################
:tokens = http://localhost:4242
# Get tokens
GET :tokens/tokens
# Get application state for debugging purposes
GET :tokens/state
# Force refresh tokens
POST :tokens/refresh-tokens
# Set tokens
POST :tokens/set-tokens
Content-Type: application/json
{
"access_token": "access-token",
"refresh_token": "refresh-token",
"expires_in": 120
}
|