{"id":18085407,"url":"https://github.com/xe/ponyapi","last_synced_at":"2025-04-06T00:15:32.519Z","repository":{"id":36144420,"uuid":"40448426","full_name":"Xe/PonyAPI","owner":"Xe","description":"A simple REST API for My Little Pony: Friendship is Magic episodes and many clients for it","archived":false,"fork":false,"pushed_at":"2018-09-09T02:26:47.000Z","size":186,"stargazers_count":36,"open_issues_count":0,"forks_count":5,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-04T11:52:13.097Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Nim","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/Xe.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}},"created_at":"2015-08-09T19:51:21.000Z","updated_at":"2025-01-04T02:13:19.000Z","dependencies_parsed_at":"2022-09-05T18:02:03.748Z","dependency_job_id":null,"html_url":"https://github.com/Xe/PonyAPI","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Xe%2FPonyAPI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Xe%2FPonyAPI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Xe%2FPonyAPI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Xe%2FPonyAPI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Xe","download_url":"https://codeload.github.com/Xe/PonyAPI/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247415966,"owners_count":20935387,"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":[],"created_at":"2024-10-31T15:11:10.359Z","updated_at":"2025-04-06T00:15:32.492Z","avatar_url":"https://github.com/Xe.png","language":"Nim","funding_links":[],"categories":[],"sub_categories":[],"readme":"PonyAPI\n=======\n\n[![Build Status](http://drone.greedo.xeserv.us/api/badges/xena/PonyAPI/status.svg)](http://drone.greedo.xeserv.us/xena/PonyAPI)\n\nA simple API for episodes of My Little Pony: Friendship is Magic to be run\ninside a container.\n\nAPI Usage\n---------\n\nAn episode will have the following data type:\n\n```json\n{\n      \"air_date\": 1286735400,\n      \"episode\": 1,\n      \"is_movie\": false,\n      \"name\": \"Friendship is Magic (Part 1)\",\n      \"season\": 1\n}\n```\n\nThis represents Season 1, Episode 1 of My Little Pony: Friendship Is Magic. The\n`air_date` column represents the date and time that the episode was originally\nshown on The Hub (now Discovery Family Network). If `is_movie` is set and the\nseason number is `99`, the episode record should be treated as a movie.\n\nUsage Limits\n------------\n\nNone. Don't make the server it's running on crash and we'll all be good.\n\nClients\n-------\n\n- [Go](https://godoc.org/github.com/Xe/PonyAPI/client/go)\n- [Nim](https://github.com/Xe/PonyAPI/blob/master/client/nim/ponyapi.nim) [Docs](http://ponyapi.apps.xeserv.us/static/nim.html)\n- [Python](https://github.com/Xe/PonyAPI/blob/master/client/python/ponyapi.py)\n- [Java](https://github.com/Xe/PonyAPI/tree/master/client/java)\n\nRoutes\n------\n\nThe canonical route base for PonyAPI is `https://ponyapi.apps.xeserv.us`. This\nnow supports HTTP/2.0 using [Caddy](https://caddyserver.com) and SSL using\n[Let's Encrypt](https://letsencrypt.org/). If you get SSL errors, please be\nsure your system certificate lists are up to date.\nExample usage:\n\n```console\n$ curl https://ponyapi.apps.xeserv.us/season/1/episode/1\n{\n  \"episode\": {\n    \"air_date\": 1286735400,\n    \"episode\": 1,\n    \"is_movie\": false,\n    \"name\": \"Friendship is Magic (Part 1)\",\n    \"season\": 1\n  }\n}\n```\n\nBare Replies\n------------\n\nAs of [882b5b1](https://github.com/Xe/PonyAPI/commit/882b5b155157d3a3c9e329fffcf7ff3fdf64d4ee),\nPonyAPI will accept an `X-API-Options` header that when set to `bare` will\nreturn the API replies without the `episode` or `episodes` header.\nFunctionality is otherwise unchanged, however an error will still be shown if\nsomething goes wrong, and that will parse differently. This API will return\n`200` if and **only** if everything went to plan.\n\nAn example:\n\n```console\n$ curl --header \"X-API-Options: bare\" https://ponyapi.apps.xeserv.us/last_aired\n{\n    \"name\": \"Do Princesses Dream of Magic Sheep?\",\n    \"air_date\": 1436628600,\n    \"season\": 5,\n    \"episode\": 13,\n    \"is_movie\": false\n}\n```\n\nThis will also be triggered if you set the query parameter `options` to `bare`.\n\n### `/all`\n\nReturns all information about all episodes. This returns an array of Episode\nobjects as defined above.\n\n### `/newest`\n\nReturns the episode of My Little Pony: Friendship is Magic that will air next.\n\n### `/last_aired`\n\nReturns the episode of My Little Pony: Friendship is Magic that most recently\naired.\n\n### `/season/\u003cnumber\u003e`\n\nReturns all information about episodes in the given season number or a `404`\nreply if no episodes could be found. To get all information about the movies\nshown, set the season as `99`.\n\n### `/season/\u003cnumber\u003e/episode/\u003cnumber\u003e`\n\nReturns all information about the episode with the given season and episode\nnumber. If the episode cannot be found, this will return a `404`.\n\n### `/random`\n\nReturns a random episode record from the list of episodes.\n\n### `/search`\n\nThis must be given a query paramater `q` containing the text to search for. Not\nincluding this will return a `406` reply. This will search the list of episode\nrecords for any episodes whose names match the given search terms. This is\ncase-insensitive. If no episodes can be found, this will return a `404` reply.\n\nContributing\n------------\n\nContributions will be judged by their technical merit. No politics on project forums.\n\nAll code is licensed under the MIT license.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxe%2Fponyapi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxe%2Fponyapi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxe%2Fponyapi/lists"}