{"id":15409552,"url":"https://github.com/bradymholt/ynab-api-webhooks","last_synced_at":"2025-04-19T04:14:53.906Z","repository":{"id":52486361,"uuid":"236525655","full_name":"bradymholt/ynab-api-webhooks","owner":"bradymholt","description":"Webhooks for the YNAB API","archived":false,"fork":false,"pushed_at":"2021-04-27T18:02:37.000Z","size":32,"stargazers_count":8,"open_issues_count":2,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-29T06:51:11.267Z","etag":null,"topics":["ynab","ynab-api"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bradymholt.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-01-27T15:42:13.000Z","updated_at":"2024-11-04T10:10:19.000Z","dependencies_parsed_at":"2022-09-06T12:41:18.587Z","dependency_job_id":null,"html_url":"https://github.com/bradymholt/ynab-api-webhooks","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bradymholt%2Fynab-api-webhooks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bradymholt%2Fynab-api-webhooks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bradymholt%2Fynab-api-webhooks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bradymholt%2Fynab-api-webhooks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bradymholt","download_url":"https://codeload.github.com/bradymholt/ynab-api-webhooks/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249604005,"owners_count":21298404,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ynab","ynab-api"],"created_at":"2024-10-01T16:40:36.316Z","updated_at":"2025-04-19T04:14:53.889Z","avatar_url":"https://github.com/bradymholt.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# YNAB API Webhooks\n\nWebhooks for the YNAB API. This application sends changes on a YNAB budget to a URL.\n\nEach time this application runs, it will issue a [Delta Request](https://api.youneedabudget.com/#deltas) to the YNAB API and if changes are detected, it will POST those changes to the URL specified with the `WEBHOOK_URL` environment variable.\n\nThe application is not intended to be run as a server but invoked on a recurring basis from a scheduler like cron or Heroku Scheduler.\n\n## Setup\n\n### Local (Docker)\n\n```\nexport YNAB_API_TOKEN=123 WEBHOOK_URL=https://mydomain.com/ynab-webhook-receive\ndocker-compose up --build --exit-code-from app\n```\n\n### Heroku\n\nThe `heroku.yml` manifest file is used to define a Heroku application stack.  The `run` command in heroku.yml will reference the `SCHEDULE_INTERNAL_SECONDS` environment variable (default: 30) and run this app on an internal in the Heroku environment.\n\n**Provisioning (one time)**\n\n```\nheroku create ynab-api-webhooks --manifest\nheroku config:set YNAB_API_TOKEN=123 WEBHOOK_URL=https://mydomain.com/ynab-webhook-receive\n```\n\n**Deploying**\n\n```\ngit push heroku master\nheroku scale app=1\n```\n\n## Environment Variables\n\n- **YNAB_API_TOKEN** - The [YNAB API access token](https://api.youneedabudget.com/#personal-access-tokens). (**required**) \n- **WEBHOOK_URL** - The URL to post changes to. (**required**) \n- **BUDGET_ID** - The YNAB budget id to monitor.  (*default: \"last-used\"*)\n- **REDIS_URL** - The Redis server URL to connect to Redis.  (*default: \"redis://localhost\"*)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbradymholt%2Fynab-api-webhooks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbradymholt%2Fynab-api-webhooks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbradymholt%2Fynab-api-webhooks/lists"}