{"id":17797539,"url":"https://github.com/wolfadex/elm-open-api","last_synced_at":"2025-10-25T04:36:35.988Z","repository":{"id":65961644,"uuid":"507432658","full_name":"wolfadex/elm-open-api","owner":"wolfadex","description":"OpenAPI package for Elm","archived":false,"fork":false,"pushed_at":"2025-03-04T03:22:27.000Z","size":842,"stargazers_count":25,"open_issues_count":2,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-02T03:23:02.676Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Elm","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wolfadex.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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":"2022-06-25T22:53:55.000Z","updated_at":"2025-03-04T03:18:24.000Z","dependencies_parsed_at":"2024-05-02T01:57:14.158Z","dependency_job_id":"978e7613-174d-4009-b88d-abdc2e754195","html_url":"https://github.com/wolfadex/elm-open-api","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":"dillonkearns/elm-package-starter","purl":"pkg:github/wolfadex/elm-open-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wolfadex%2Felm-open-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wolfadex%2Felm-open-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wolfadex%2Felm-open-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wolfadex%2Felm-open-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wolfadex","download_url":"https://codeload.github.com/wolfadex/elm-open-api/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wolfadex%2Felm-open-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280906491,"owners_count":26411400,"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","status":"online","status_checked_at":"2025-10-25T02:00:06.499Z","response_time":81,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2024-10-27T11:56:15.149Z","updated_at":"2025-10-25T04:36:35.941Z","avatar_url":"https://github.com/wolfadex.png","language":"Elm","funding_links":[],"categories":[],"sub_categories":[],"readme":"# `elm-open-api` [![Build Status](https://github.com/wolfadex/elm-open-api/workflows/CI/badge.svg)](https://github.com/wolfadex/elm-open-api/actions?query=branch%3Amain)\n\nFor decoding and querying an OpenAPI Document which conforms to the [OpenAPI Specification](https://www.openapis.org/) (OAS). OAS can be generated from backend REST APIs and are used to define the expected behavior of a RESTful API.\n\nOAS can be written in JSON or YAML; currently this pacakge supports parsing the JSON format only.\n\nThere are primarily 2 versions of OAS the current 3.X versions, which this package supports, and the legacy 2.X versions, also known as Swagger or Swagger docs. I hope to support the 2.X, Swagger, spec in a future release as there are still numerous APIs that only support 2.X.\n\nFor supported versions I attempt to provide a minimal level of validation of the OAS and parsing may fail if it doesn't meet the minimum requirements. Howver you should not expect that a successfully parsed OAS is 100% compliant. E.g. some fields are required if and only if another specific field is present and has a specific value. These are not always validated to be present in those cases but a best attempt is made.\n\nFor documentation on what specific values mean in the context of an OAS, please refer to the [official OAS docs](https://spec.openapis.org/oas/latest).\n\n## Currently Supported \u0026 In-Progress Features\n\n🚧 - Under construction\n\n🧪 - Tested\n\n- Versions\n  - [ ] 2.x.y\n  - [ ] 3.0.y\n  - [ ] 🚧 3.1.0\n    - [x] 🧪 OpenAPI Object\n      - Uses [dividat/elm-semver](https://package.elm-lang.org/packages/dividat/elm-semver/latest/) for SemVer version parsing and\n    - [x] 🧪 Info Object\n    - [x] 🧪 Contact Object\n    - [x] 🧪 License Object\n    - [x] 🧪 Server Object\n    - [x] 🧪 Server Variable Object\n    - [x] 🧪 Components Object\n    - [x] 🧪 Paths Object\n    - [x] 🧪 Path Item Object\n    - [x] 🧪 Operation Object\n    - [x] 🧪 External Documentation Object\n    - [x] 🧪 Parameter Object\n    - [x] 🧪 Request Body Object\n    - [x] 🧪 Media Type Object\n    - [x] 🧪 Encoding Object\n    - [x] 🧪 Responses Object\n    - [x] 🧪 Response Object\n    - [x] 🧪 Callback Object\n    - [x] 🧪 Example Object\n    - [x] 🧪 Link Object\n    - [x] 🧪 Header Object\n    - [x] 🧪 Tag Object\n    - [x] 🧪 Reference Object\n    - [x] Schema Object\n      - Uses [json-tools/json-schema](https://package.elm-lang.org/packages/json-tools/json-schema/latest/)\n      - This will stay a separate package as it has its [own, separate specification](https://json-schema.org/specification.html)\n    - [x] Discriminator Object\n    - [x] XML Object\n    - [x] 🧪 Security Scheme Object\n    - [x] 🧪 OAuth Flows Object\n    - [x] 🧪 OAuth Flow Object\n    - [x] 🧪 Security Requirement Object\n    - [ ] 🚧 Specification Extensions\n    - [ ] 🚧 Security Filtering\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwolfadex%2Felm-open-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwolfadex%2Felm-open-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwolfadex%2Felm-open-api/lists"}