{"id":19470117,"url":"https://github.com/arpith/crest","last_synced_at":"2026-05-15T17:02:06.233Z","repository":{"id":146392689,"uuid":"65761315","full_name":"arpith/crest","owner":"arpith","description":"RESTful Chat API","archived":false,"fork":false,"pushed_at":"2016-08-29T16:43:06.000Z","size":41,"stargazers_count":1,"open_issues_count":3,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-25T14:50:39.922Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Ruby","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/arpith.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":"2016-08-15T20:05:18.000Z","updated_at":"2016-08-19T15:48:10.000Z","dependencies_parsed_at":null,"dependency_job_id":"d04c9e90-61bd-417d-ae6e-df0d905b250d","html_url":"https://github.com/arpith/crest","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/arpith/crest","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arpith%2Fcrest","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arpith%2Fcrest/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arpith%2Fcrest/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arpith%2Fcrest/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/arpith","download_url":"https://codeload.github.com/arpith/crest/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arpith%2Fcrest/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33072970,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-15T11:35:32.926Z","status":"ssl_error","status_checked_at":"2026-05-15T11:35:31.362Z","response_time":103,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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-11-10T18:56:09.442Z","updated_at":"2026-05-15T17:02:06.228Z","avatar_url":"https://github.com/arpith.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Crest\nRESTful Chat API\n\n# Deploy\n[![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy)\n\n# Usage\nCurrently there is a single endpoint, `/messages`, that can be used to create a message (with a `POST` request) as well as to obtain a list of messages between users (with a `GET` request). The endpoint returns JSON.\n\n## Messaging a user\nCreate a `POST` request to `/messages` with the following parameters:\n\n```json\n{\n\t\"sender\": \"sender_username\",\n\t\"receiver\": \"receiver_username\",\n\t\"text\": \"a text message\"\n}\n```\n\nThe response looks like:\n\n```json\n{\n\t\"message\": {\n\t\t\"id\": \"message id\",\n\t\t\"sender\": \"sender_username\",\n\t\t\"receiver\": \"receiver_username\",\n\t\t\"text\": \"the text of the message\",\n        \t\"created\": \"time in UTC\",\n\t        \"updated\": \"time in UTC\"\n\t}\n}\n```\n\n## Viewing your conversations\nCreate a `GET` request to `/messages?user1=username1\u0026user2=username2` to view the conversation between two users. Note that the order does not matter!\n\nThe response looks like:\n\n```json\n{\n\t\"messages\": [\n\t\t{\n\t\t\t\"id\": \"an id\",\n\t\t\t\"sender\": \"username1\", \n\t\t\t\"receiver\": \"username2\", \n\t\t\t\"text\": \"hi username2!\",\n\t\t\t\"created\": \"time in UTC\",\n\t        \t\"updated\": \"time in UTC\"\n\t\t},\n\t\t{\n\t\t\t\"id\": \"another id\",\n\t\t\t\"sender\": \"username2\",\n\t\t\t\"receiver\": \"username1\",\n\t\t\t\"text\": \"hi username1!!\",\n\t\t\t\"created\": \"time in UTC\",\n\t        \t\"updated\": \"time in UTC\"\n\t\t}\n\t]\n}\n```\n\n# Objects\n## `message`\nA json object with:\n\n1. `id` string\n2. `sender` username string\n3. `receiver` username string\n4. `text` the text of the message (string)\n5. `created` time in UTC\n6. `updated` time in UTC\n\nFor example,\n```json\n{\n\t\"id\": \"an id\",\n\t\"sender\": \"bar\",\n\t\"receiver\": \"foo\",\n\t\"text\": \"hi foo!!\",\n\t\"created\": \"time in UTC\",\n\t\"updated\": \"time in UTC\"\n}\n```\n\n# Resources\n## `/messages`\n### `GET`\n`GET /messages?user1=foo\u0026user2=bar` retrieves a list of messages between `foo` and `bar`. Note that this includes messages sent by `foo` to `bar` as well as messages sent by `bar` to `foo` and that the order does not matter.\n\n#### Required Parameters\n1. `user1` a string username\n2. `user2` a string username\n\n#### Response\nThe json response has a top level attribute `messages` that is an array of [`message` objects](#message).\n\n```json\n{\n\t\"messages\": [\n\t\t{\n\t\t\t\"id\": \"an id\",\n\t\t\t\"sender\": \"foo\", \n\t\t\t\"receiver\": \"bar\", \n\t\t\t\"text\": \"hi bar!\",\n\t\t\t\"created\": \"time in UTC\",\n\t\t\t\"updated\": \"time in UTC\"\n\t\t},\n\t\t{\n\t\t\t\"id\": \"another id\",\n\t\t\t\"sender\": \"bar\",\n\t\t\t\"receiver\": \"foo\",\n\t\t\t\"text\": \"hi foo!!\",\n\t\t\t\"created\": \"time in UTC\",\n\t\t\t\"updated\": \"time in UTC\"\n\t\t}\n\t]\n}\n```\n\n### `POST`\n`POST /messages?sender=foo\u0026receiver=bar\u0026text=something` creates a message from `foo` to `bar` with the text `something`. \n\n#### Required Parameters\n1. `sender` a string username\n2. `receiver` a string username\n3. `text` the text of the message (string)\n\n#### Response\nThe json response has a top level attribute `message` that is a [`message` object](#message).\n\n```json\n{\n\t\"message\": {\n\t\t\"id\": \"an id\",\n\t\t\"sender\": \"foo\", \n\t\t\"receiver\": \"bar\", \n\t\t\"text\": \"something\",\n\t\t\"created\": \"time in UTC\",\n\t\t\"updated\": \"time in UTC\"\n\t}\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farpith%2Fcrest","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farpith%2Fcrest","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farpith%2Fcrest/lists"}