{"docs":{"name":"Shikimori API","info":"\n\u003ch2 id=\"welcome_to_shikimori_api_v2\"\u003eWelcome to Shikimori API v2\u003c/h2\u003e\n\n\u003cp\u003eThe API has three versions: \u003ca href=\"/api/doc/graphql\"\u003e\u003cstrong\u003egraphql\u003c/strong\u003e\u003c/a\u003e, outdated \u003ca href=\"/api/doc/2.0.html\"\u003e\u003cstrong\u003ev2\u003c/strong\u003e\u003c/a\u003e and outdated \u003ca href=\"/api/doc/1.0.html\"\u003e\u003cstrong\u003ev1\u003c/strong\u003e\u003c/a\u003e. Prefer using \u003ccode\u003egraphql\u003c/code\u003e over \u003ccode\u003ev2\u003c/code\u003e/\u003ccode\u003ev1\u003c/code\u003e when it is possible.\u003c/p\u003e\n\n\u003cp\u003e\u003cstrong\u003ePlease do not parse the main site\u003c/strong\u003e. Fetch all necessary data via API.\u003c/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eNOTE:\u003c/strong\u003e New anime/manga/character/person posters available only in \u003ccode\u003egraphql\u003c/code\u003e API.\u003c/p\u003e\n\n\u003cp\u003eAPI works with \u003ccode\u003eHTTPS\u003c/code\u003e protocol only. \u003cbr /\u003e\u003cbr /\u003e\u003c/p\u003e\n\n\u003ch3 id=\"documentation_for_graphql\"\u003eDocumentation for GraphQL\u003c/h3\u003e\n\n\u003cp\u003e\u003ca href=\"/api/doc/graphql\"\u003eClick here\u003c/a\u003e. \u003cbr /\u003e\u003cbr /\u003e\u003c/p\u003e\n\n\u003ch3 id=\"documentation_for_v1\"\u003eDocumentation for V1\u003c/h3\u003e\n\n\u003cp\u003e\u003ca href=\"/api/doc/1.0.html\"\u003eClick here\u003c/a\u003e. \u003cbr /\u003e\u003cbr /\u003e\u003c/p\u003e\n\n\u003ch3 id=\"documentation_for_v2\"\u003eDocumentation for V2\u003c/h3\u003e\n\n\u003cp\u003eOn this page below. \u003cbr /\u003e\u003cbr /\u003e\u003c/p\u003e\n\n\u003ch3 id=\"authentication\"\u003eAuthentication\u003c/h3\u003e\n\n\u003cp\u003eOAuth2 is used for authentication. \u003ca href=\"/oauth\"\u003eOAuth2 guide\u003c/a\u003e.\u003cbr /\u003e All other auth methods are deprecated and will be removed after 2018-07-01. \u003cbr /\u003e\u003cbr /\u003e\u003c/p\u003e\n\n\u003ch3 id=\"restrictions\"\u003eRestrictions\u003c/h3\u003e\n\n\u003cp\u003eAPI access is limited by \u003ccode\u003e5rps\u003c/code\u003e and \u003ccode\u003e90rpm\u003c/code\u003e \u003cbr /\u003e\u003cbr /\u003e\u003c/p\u003e\n\n\u003ch3 id=\"requirements\"\u003eRequirements\u003c/h3\u003e\n\n\u003cp\u003eAdd your Oauth2 Application name to \u003ccode\u003eUser-Agent\u003c/code\u003e requests header.\u003c/p\u003e\n\n\u003cp\u003eDon’t mimic a browser.\u003c/p\u003e\n\n\u003cp\u003eYour IP address may be banned if you use API without properly set \u003ccode\u003eUser-Agent\u003c/code\u003e header. \u003cbr /\u003e\u003cbr /\u003e\u003c/p\u003e\n\n\u003ch3 id=\"third_party_implementations\"\u003eThird party implementations\u003c/h3\u003e\n\n\u003cp\u003e\u003ca href=\"https://github.com/OlegWock/PyShiki\"\u003ePython API implementation\u003c/a\u003e by OlegWock.\u003c/p\u003e\n\n\u003cp\u003e\u003ca href=\"https://github.com/Capster/node-shikimori\"\u003eNode.js API implementation\u003c/a\u003e by Capster.\u003c/p\u003e\n\n\u003cp\u003e\u003ca href=\"https://github.com/JustRoxy/ShikimoriSharp\"\u003eC# API implementation\u003c/a\u003e by JustRoxy.\u003c/p\u003e\n\n\u003cp\u003e\u003ca href=\"https://github.com/iwdt/shikikit#shikimori-api\"\u003eRuby API implementation\u003c/a\u003e by iwdt. \u003cbr /\u003e\u003cbr /\u003e\u003c/p\u003e\n\n\u003ch3 id=\"feedback\"\u003eFeedback\u003c/h3\u003e\n\n\u003cp\u003e\u003ca href=\"/morr\"\u003e@morr\u003c/a\u003e, \u003ca href=\"mailto:admin@shikimori.me\"\u003eemail\u003c/a\u003e \u003cbr /\u003e\u003cbr /\u003e\u003c/p\u003e\n","copyright":null,"doc_url":"/api/doc/2.0","api_url":"/api","resources":[{"doc_url":"/api/doc/2.0/episode_notifications","id":"episode_notifications","api_url":"/api","name":"Episode notifications","short_description":null,"full_description":null,"version":"2.0","formats":null,"metadata":null,"methods":[{"doc_url":"/api/doc/2.0/episode_notifications/create","name":"create","apis":[{"api_url":"/api/v2/episode_notifications","http_method":"POST","short_description":"Notify shikimori about anime episode release","deprecated":null}],"formats":null,"full_description":"","errors":[],"params":[{"name":"episode_notification","full_name":"episode_notification","description":"","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a Hash","expected_type":"hash","metadata":null,"show":true,"validations":[],"params":[{"name":"anime_id","full_name":"episode_notification[anime_id]","description":"","required":true,"allow_nil":false,"allow_blank":false,"validator":"Must be a number.","expected_type":"numeric","metadata":null,"show":true,"validations":[]},{"name":"episode","full_name":"episode_notification[episode]","description":"","required":true,"allow_nil":false,"allow_blank":false,"validator":"Must be a number.","expected_type":"numeric","metadata":null,"show":true,"validations":[]},{"name":"aired_at","full_name":"episode_notification[aired_at]","description":"\n\u003cp\u003eEpisode release date\u003c/p\u003e\n","required":true,"allow_nil":false,"allow_blank":false,"validator":"Must be a date in `iso8601` `YYYY-MM-DDThh:mm:ss±hh` format","expected_type":"string","metadata":null,"show":true,"validations":[]},{"name":"is_fandub","full_name":"episode_notification[is_fandub]","description":"","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be one of: \u003ccode\u003etrue\u003c/code\u003e, \u003ccode\u003efalse\u003c/code\u003e, \u003ccode\u003e1\u003c/code\u003e, \u003ccode\u003e0\u003c/code\u003e.","expected_type":"boolean","metadata":null,"show":true,"validations":[]},{"name":"is_raw","full_name":"episode_notification[is_raw]","description":"","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be one of: \u003ccode\u003etrue\u003c/code\u003e, \u003ccode\u003efalse\u003c/code\u003e, \u003ccode\u003e1\u003c/code\u003e, \u003ccode\u003e0\u003c/code\u003e.","expected_type":"boolean","metadata":null,"show":true,"validations":[]},{"name":"is_subtitles","full_name":"episode_notification[is_subtitles]","description":"","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be one of: \u003ccode\u003etrue\u003c/code\u003e, \u003ccode\u003efalse\u003c/code\u003e, \u003ccode\u003e1\u003c/code\u003e, \u003ccode\u003e0\u003c/code\u003e.","expected_type":"boolean","metadata":null,"show":true,"validations":[]},{"name":"is_anime365","full_name":"episode_notification[is_anime365]","description":"","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be one of: \u003ccode\u003etrue\u003c/code\u003e, \u003ccode\u003efalse\u003c/code\u003e, \u003ccode\u003e1\u003c/code\u003e, \u003ccode\u003e0\u003c/code\u003e.","expected_type":"boolean","metadata":null,"show":true,"validations":[]}]},{"name":"token","full_name":"token","description":"\n\u003cp\u003ePrivate token required to access this api\u003c/p\u003e\n","required":true,"allow_nil":false,"allow_blank":false,"validator":"Must be a String","expected_type":"string","metadata":null,"show":true,"validations":[]}],"returns":[],"examples":["POST /api/v2/episode_notifications\n{\n  \"episode_notification\": {\n    \"aired_at\": \"2022-11-19T17:19:31+03:00\",\n    \"anime_id\": \"35\",\n    \"episode\": \"3\",\n    \"is_anime365\": \"true\",\n    \"is_fandub\": \"true\",\n    \"is_raw\": \"false\",\n    \"is_subtitles\": \"false\"\n  },\n  \"token\": \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"\n}\n200\n{\n  \"id\": 1,\n  \"anime_id\": 35,\n  \"episode\": 3,\n  \"is_raw\": false,\n  \"is_subtitles\": false,\n  \"is_fandub\": true,\n  \"is_anime365\": true,\n  \"topic_id\": 123\n}"],"metadata":null,"see":[],"headers":[],"show":true}],"headers":null,"deprecated":null}]}}