{"id":21564634,"url":"https://github.com/tylerwray/elixir-plaid","last_synced_at":"2025-08-08T02:09:57.742Z","repository":{"id":43080744,"uuid":"330080291","full_name":"tylerwray/elixir-plaid","owner":"tylerwray","description":"Simply beautiful elixir library for the Plaid API","archived":false,"fork":false,"pushed_at":"2023-08-02T02:15:27.000Z","size":215,"stargazers_count":18,"open_issues_count":1,"forks_count":5,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-04-24T01:20:43.408Z","etag":null,"topics":["elixir","plaid","plaid-api"],"latest_commit_sha":null,"homepage":"","language":"Elixir","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tylerwray.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-01-16T04:02:53.000Z","updated_at":"2023-09-08T20:34:35.000Z","dependencies_parsed_at":"2024-11-24T12:15:15.450Z","dependency_job_id":null,"html_url":"https://github.com/tylerwray/elixir-plaid","commit_stats":{"total_commits":129,"total_committers":3,"mean_commits":43.0,"dds":"0.015503875968992276","last_synced_commit":"641a9d55f57ccaaa8929093a8fdb3edca10230f2"},"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tylerwray%2Felixir-plaid","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tylerwray%2Felixir-plaid/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tylerwray%2Felixir-plaid/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tylerwray%2Felixir-plaid/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tylerwray","download_url":"https://codeload.github.com/tylerwray/elixir-plaid/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248224095,"owners_count":21068072,"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":["elixir","plaid","plaid-api"],"created_at":"2024-11-24T10:16:37.451Z","updated_at":"2025-04-10T13:07:30.124Z","avatar_url":"https://github.com/tylerwray.png","language":"Elixir","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Plaid Elixir Library\n\n[![build](https://github.com/tylerwray/elixir-plaid/actions/workflows/elixir.yml/badge.svg)](https://github.com/tylerwray/elixir-plaid/actions/workflows/elixir.yml) [![Hex Version](https://img.shields.io/hexpm/v/elixir_plaid.svg)](https://hex.pm/packages/elixir_plaid) [![Hex Docs](https://img.shields.io/badge/hex.pm-docs-green.svg?style=flat)](https://hexdocs.pm/elixir_plaid) ![Hex.pm](https://img.shields.io/hexpm/dt/elixir_plaid) [![MIT License](https://img.shields.io/hexpm/l/elixir_plaid)](https://opensource.org/licenses/MIT)\n\n\u003e Simply Beautiful Elixir library for the [Plaid API](https://plaid.com/docs/api).\n\n## Motivation \u0026 Principles\n\n1. Provide FANTASTIC documentation\n2. Full plaid API coverage\n3. Use the plaid API versioning plan\n4. Return well-defined structs, always\n\n## Example Usage\n\n```elixir\n# get auth data\nPlaid.Auth.get(\"access-prod-123xxx\", client_id: \"123\", secret: \"abc\")\n\n# get item details\nPlaid.Item.get(\"access-prod-123xxx\", client_id: \"123\", secret: \"abc\", env: :production)\n\n# refresh transactions\nPlaid.Transactions.refresh(\"access-prod-123xxx\", client_id: \"123\", secret: \"abc\", env: :development)\n\n# get categories\nPlaid.Categories.get(env: :production)\n```\n\n## API\n\n- [`Plaid.Accounts`](https://hexdocs.pm/elixir_plaid/Plaid.Accounts.html#content)\n- [`Plaid.AssetReport`](https://hexdocs.pm/elixir_plaid/Plaid.AssetReport.html#content)\n- [`Plaid.Auth`](https://hexdocs.pm/elixir_plaid/Plaid.Auth.html#content)\n- [`Plaid.Categories`](https://hexdocs.pm/elixir_plaid/Plaid.Categories.html#content)\n- [`Plaid.Employer`](https://hexdocs.pm/elixir_plaid/Plaid.Employer.html#content)\n- [`Plaid.Identity`](https://hexdocs.pm/elixir_plaid/Plaid.Identity.html#content)\n- [`Plaid.Institution`](https://hexdocs.pm/elixir_plaid/Plaid.Institution.html#content)\n- [`Plaid.Investments`](https://hexdocs.pm/elixir_plaid/Plaid.Investments.html#content)\n- [`Plaid.Item`](https://hexdocs.pm/elixir_plaid/Plaid.Item.html#content)\n- [`Plaid.Liabilities`](https://hexdocs.pm/elixir_plaid/Plaid.Liabilities.html#content)\n- [`Plaid.LinkToken`](https://hexdocs.pm/elixir_plaid/Plaid.LinkToken.html#content)\n- [`Plaid.PaymentInitiation`](https://hexdocs.pm/elixir_plaid/Plaid.PaymentInitiation.html#content)\n- [`Plaid.Processor`](https://hexdocs.pm/elixir_plaid/Plaid.Processor.html#content)\n- [`Plaid.Sandbox`](https://hexdocs.pm/elixir_plaid/Plaid.Sandbox.html#content)\n- [`Plaid.Transactions`](https://hexdocs.pm/elixir_plaid/Plaid.Transactions.html#content)\n- [`Plaid.Webhooks`](https://hexdocs.pm/elixir_plaid/Plaid.Webhooks.html#content)\n\nFull Documentation on [HexDocs](https://hexdocs.pm/elixir_plaid).\n\n## Configuration\n\nEach function takes a [`Plaid.config`](https://hexdocs.pm/elixir_plaid/Plaid.html#t:config/0) keyword list as it's trailing argument.\nAuthenticated requests require a `client_id` and `secert` at minimum for authentication with the plaid API.\n\n| Key              | Value                                                                                           |\n| ---------------- | ----------------------------------------------------------------------------------------------- |\n| `:client_id`     | Your plaid client id. (required for authenticated requests)                                     |\n| `:secret`        | Your plaid secret. (required for authenticated requests)                                        |\n| `:env`           | Either `:production`, `:development`, or `:sandbox`. (defaults to `:sandbox`)                   |\n| `:http_client`   | Any module that implements the `Plaid.Client` behaviour. (defaults to `Plaid.Client.HTTPoison`) |\n| `:test_api_host` | Any base URL e.g. `http://localhost:2100/`.                                                     |\n\n\u003e The choice to avoid using application configuration is due to the [anti-pattern documented by elixir](https://hexdocs.pm/elixir/master/library-guidelines.html#avoid-application-configuration)\n\u003e of libraries using application configuration. Passing configuration to each function avoids the library touching any\n\u003e global state, as well as making function calls objectively more \"functional\".\n\n\u003e Likely you will need to pass keys dynamically anyway for development/production, overwriting the need for global application config.\n\u003e Therefore using patterns like those outlined in [this blog post](https://blog.plataformatec.com.br/2015/10/mocks-and-explicit-contracts/) and\n\u003e using a test mocking library like [Mox](https://hexdocs.pm/mox/Mox.html) help aid in making code more clear.\n\n## Installation\n\nAdd `elixir_plaid` to your list of dependencies in `mix.exs`:\n\n```elixir\ndef deps do\n  [\n    {:elixir_plaid, \"~\u003e 1.0.0\"}\n\n    # optional, but recommended http client\n    {:httpoison, \"~\u003e 1.7\"}\n  ]\nend\n```\n\n## Versioning\n\nEach major version of `elixir_plaid` targets a specific version of the Plaid API:\n\n| API version                                         | package version |\n| --------------------------------------------------- | --------------- |\n| [`2020-09-14`][api-version-2020-09-14] (**latest**) | `1.x.x`         |\n\nFor information about what has changed between API versions, head to the [version changelog][version-changelog].\n\n## API Coverage\n\n✅ - Full Coverage\n\n🏗 - In Progress\n\n🗺 - On the Roadmap\n\n| API                                                                                                         | Status |\n| ----------------------------------------------------------------------------------------------------------- | ------ |\n| [Account](https://plaid.com/docs/api/accounts/)                                                             | ✅     |\n| [Assets](https://plaid.com/docs/api/products/#assets)                                                       | ✅     |\n| [Auth](https://plaid.com/docs/api/products/#auth)                                                           | ✅     |\n| [Balance](https://plaid.com/docs/api/products/#balance)                                                     | ✅     |\n| [Bank Transfers (beta)](https://plaid.com/docs/api/products/#bank-transfers-beta)                           | 🗺      |\n| [Deposit Switch (beta)](https://plaid.com/docs/api/products/#deposit-switch-beta)                           | 🗺      |\n| [Employer](https://plaid.com/docs/api/employers/)                                                           | 🏗      |\n| [Enrich](https://plaid.com/docs/api/products/enrich/)                                                       | 🗺️     |\n| [Identity Verification](https://plaid.com/docs/api/products/identity-verification/)                         | 🗺️     |\n| [Identity](https://plaid.com/docs/api/products/#identity)                                                   | ✅     |\n| [Income](https://plaid.com/docs/api/products/income/)                                                       | 🗺️     |\n| [Institution](https://plaid.com/docs/api/institutions/)                                                     | ✅     |\n| [Investments](https://plaid.com/docs/api/products/#investments)                                             | ✅     |\n| [Item](https://plaid.com/docs/api/items/)                                                                   | ✅     |\n| [Liabilities](https://plaid.com/docs/api/products/#liabilities)                                             | ✅     |\n| [Monitor](https://plaid.com/docs/api/products/monitor/)                                                     | 🗺️     |\n| [Payment Initiation (UK and Europe)](https://plaid.com/docs/api/products/#payment-initiation-uk-and-europe) | ✅     |\n| [Processor](https://plaid.com/docs/api/processors/)                                                         | ✅     |\n| [Sandbox](https://plaid.com/docs/api/sandbox/)                                                              | 🏗      |\n| [Signal](https://plaid.com/docs/api/products/signal/)                                                       | 🗺️     |\n| [Token](https://plaid.com/docs/api/tokens/)                                                                 | ✅     |\n| [Transactions](https://plaid.com/docs/api/products/#transactions)                                           | ✅     |\n| [Transfer](https://plaid.com/docs/api/products/transfer/)                                                   | 🗺️     |\n| [Virtual Accounts](https://plaid.com/docs/api/products/virtual-accounts/)                                   | 🗺️     |\n| [Webhooks](https://plaid.com/docs/api/webhooks/)                                                            | 🏗      |\n\n## Contributing\n\nBug reports and pull requests are welcome on [GitHub](https://github.com/tylerwray/elixir_plaid).\nSee [contributing guidelines](CONTRIBUTING.md) for more details.\n\n## License\n\nThe package is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).\n\n[version-changelog]: https://plaid.com/docs/api/versioning/\n[api-version-2020-09-14]: https://plaid.com/docs/api/versioning/#2020-09-14\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftylerwray%2Felixir-plaid","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftylerwray%2Felixir-plaid","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftylerwray%2Felixir-plaid/lists"}