about summary refs log tree commit diff
path: root/monzo_ynab/requests.txt
blob: 5698dfee376300450fab5167fccf7470218a0a42 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
################################################################################
# YNAB
################################################################################
:ynab = https://api.youneedabudget.com/v1
:ynab-access-token := (getenv "ynab_personal_access_token")
:ynab-budget-id := (getenv "ynab_budget_id")

# Test
GET :ynab/budgets
Authorization: Bearer :ynab-access-token

# List transactions
GET :ynab/budgets/:ynab-budget-id/transactions

################################################################################
# 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
}