{"meta":{"name":"FindSoftware","page":"https://findsoftware.frbit.cloud/synrc-rest/","markdown":"https://findsoftware.frbit.cloud/synrc-rest.md","license":"https://creativecommons.org/licenses/by/4.0/","attribution":"FindSoftware, CC BY 4.0","note":"Attributes are recorded, never scored. An absent field means unknown, never zero and never bad."},"record":{"id":"synrc-rest","name":"REST","urls":{"home":"https://rest.n2o.dev","repository":"https://github.com/synrc/rest","docs":"https://rest.n2o.dev"},"category":["framework"],"description":"Erlang framework for REST JSON services, with record transformations generated at compile time and storage on ETS or KVS.","maintainer":"Synrc Research Center","firstRelease":2014,"hosting":["elixir"],"language":"erlang","runtime":["beam"],"headlessApi":["rest"],"licenseModel":"open-source","license":"MIT","currentMajor":"6","latestReleaseDate":"2021-11-07T00:00:00.000Z","githubStargazers":83,"contributors":5,"packagistDownloads":null,"npmWeeklyDownloads":null,"checkedAt":"2026-10-26T00:00:00.000Z","addedAt":"2026-10-26T00:00:00.000Z","sources":[{"field":"urls","url":"https://rest.n2o.dev/","checkedAt":"2026-10-26T00:00:00.000Z"},{"field":"urls","url":"https://api.github.com/repos/synrc/rest","checkedAt":"2026-10-26T00:00:00.000Z"},{"field":"urls","url":"https://rest.n2o.dev/","checkedAt":"2026-10-26T00:00:00.000Z"},{"field":"category","url":"https://github.com/synrc/rest/blob/master/README.md","checkedAt":"2026-10-26T00:00:00.000Z"},{"field":"language","url":"https://api.github.com/repos/synrc/rest/languages","checkedAt":"2026-10-26T00:00:00.000Z"},{"field":"runtime","url":"https://github.com/synrc/rest/blob/master/mix.exs","checkedAt":"2026-10-26T00:00:00.000Z"},{"field":"headlessApi","url":"https://rest.n2o.dev/","checkedAt":"2026-10-26T00:00:00.000Z"},{"field":"license","url":"https://github.com/synrc/rest/blob/master/mix.exs","checkedAt":"2026-10-26T00:00:00.000Z"},{"field":"license","url":"https://github.com/synrc/rest/blob/master/LICENSE","checkedAt":"2026-10-26T00:00:00.000Z"},{"field":"licenseModel","url":"https://github.com/synrc/rest/blob/master/LICENSE","checkedAt":"2026-10-26T00:00:00.000Z"},{"field":"maintainer","url":"https://github.com/synrc/rest/blob/master/LICENSE","checkedAt":"2026-10-26T00:00:00.000Z"},{"field":"firstRelease","url":"https://api.github.com/repos/synrc/rest/releases","checkedAt":"2026-10-26T00:00:00.000Z"},{"field":"currentMajor","url":"https://hex.pm/api/packages/rest","checkedAt":"2026-10-26T00:00:00.000Z"},{"field":"latestReleaseDate","url":"https://hex.pm/api/packages/rest","checkedAt":"2026-10-26T00:00:00.000Z"},{"field":"githubStargazers","url":"https://api.github.com/repos/synrc/rest","checkedAt":"2026-10-26T00:00:00.000Z"},{"field":"contributors","url":"https://api.github.com/repos/synrc/rest/contributors","checkedAt":"2026-10-26T00:00:00.000Z"}],"status":"stub","ai":"authored"},"prose":"REST is an Erlang framework for JSON REST services, published by Synrc Research Center. A service is an Erlang module that implements the `rest` behaviour and uses a parse transform, a compile-time code generation step for the record transformations. The endpoints plug into a Cowboy router, and the module keeps its data either in ETS tables in memory or through KVS, which the [homepage](https://rest.n2o.dev/) describes as persistent storage.\n\n## Worth knowing\n\nThe framework includes no routing of its own: the README says routing was left out on purpose, so a service relies on the Cowboy router it is plugged into."}