{"docs":{"name":"Shikimori API","info":"\n\u003ch2 id=\"welcome_to_shikimori_api_v1\"\u003eWelcome to Shikimori API v1\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\u003eOn this page below. \u003cbr /\u003e\u003cbr /\u003e\u003c/p\u003e\n\n\u003ch3 id=\"documentation_for_v2\"\u003eDocumentation for V2\u003c/h3\u003e\n\n\u003cp\u003e\u003ca href=\"/api/doc/2.0.html\"\u003eClick here\u003c/a\u003e. \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=\"pagination_in_api\"\u003ePagination in API\u003c/h3\u003e\n\n\u003cp\u003eWhen you request \u003ccode\u003eN\u003c/code\u003e elements from paginated API, in most cases you will get \u003ccode\u003eN+1\u003c/code\u003e results if API has next page. \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/1.0","api_url":"/api","resources":[{"doc_url":"/api/doc/1.0/styles","id":"styles","api_url":"/api","name":"Styles","short_description":null,"full_description":null,"version":"1.0","formats":null,"metadata":null,"methods":[{"doc_url":"/api/doc/1.0/styles/create","name":"create","apis":[{"api_url":"/api/styles","http_method":"POST","short_description":"Create a style","deprecated":null}],"formats":null,"full_description":"","errors":[],"params":[{"name":"style","full_name":"style","description":"","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a Hash","expected_type":"hash","metadata":null,"show":true,"validations":[],"params":[{"name":"css","full_name":"style[css]","description":"","required":true,"allow_nil":false,"allow_blank":false,"validator":"Must be a String","expected_type":"string","metadata":null,"show":true,"validations":[]},{"name":"name","full_name":"style[name]","description":"","required":true,"allow_nil":false,"allow_blank":false,"validator":"Must be a String","expected_type":"string","metadata":null,"show":true,"validations":[]},{"name":"owner_id","full_name":"style[owner_id]","description":"","required":true,"allow_nil":false,"allow_blank":false,"validator":"Must be a number.","expected_type":"numeric","metadata":null,"show":true,"validations":[]},{"name":"owner_type","full_name":"style[owner_type]","description":"","required":true,"allow_nil":false,"allow_blank":false,"validator":"Must be one of: \u003ccode\u003eUser\u003c/code\u003e, \u003ccode\u003eClub\u003c/code\u003e.","expected_type":"string","metadata":null,"show":true,"validations":[]}]}],"returns":[],"examples":["POST /api/styles\n{\n  \"style\": {\n    \"css\": \"xxx\",\n    \"name\": \"zzz\",\n    \"owner_id\": \"23456789\",\n    \"owner_type\": \"User\"\n  }\n}\n201\n{\n  \"id\": 1,\n  \"owner_id\": 23456789,\n  \"owner_type\": \"User\",\n  \"name\": \"zzz\",\n  \"css\": \"xxx\",\n  \"compiled_css\": null,\n  \"created_at\": \"2022-11-26T17:19:27.882+03:00\",\n  \"updated_at\": \"2022-11-26T17:19:27.882+03:00\"\n}"],"metadata":null,"see":[],"headers":[],"show":true}],"headers":null,"deprecated":null}]}}