{"docs":{"name":"Glowfic","info":"\n\u003cp\u003eThe public API for the Glowfic Constellation\u003c/p\u003e\n","copyright":null,"doc_url":"/docs/1.0","api_url":"/api/v1","resources":{"boards":{"doc_url":"/docs/1.0/boards","id":"boards","api_url":"/api/v1","name":"Continuities","short_description":null,"full_description":"\n\u003cp\u003eViewing, searching, and editing continuities\u003c/p\u003e\n","version":"1.0","formats":null,"metadata":null,"methods":[{"doc_url":"/docs/1.0/boards/index","name":"index","apis":[{"api_url":"/api/v1/boards","http_method":"GET","short_description":"Load all the continuities that match the given query, results ordered by name","deprecated":null}],"formats":null,"full_description":"","errors":[{"code":422,"description":"Invalid parameters provided","metadata":null}],"params":[{"name":"q","full_name":"q","description":"\n\u003cp\u003eQuery string\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a String","expected_type":"string","metadata":null,"show":true,"validations":[],"deprecated":false},{"name":"page","full_name":"page","description":"\n\u003cp\u003ePage in results (25 per page)\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a number.","expected_type":"numeric","metadata":null,"show":true,"validations":[],"deprecated":false}],"returns":[],"examples":["GET /api/v1/boards\n200\n{\n  \"results\": [\n    {\n      \"id\": 1,\n      \"name\": \"baa\"\n    },\n    {\n      \"id\": 5,\n      \"name\": \"BAAc\"\n    }\n  ]\n}","GET /api/v1/boards\n422\n{\n  \"errors\": [\n    {\n      \"message\": \"Invalid parameter 'page' value 'b': Must be a number.\"\n    }\n  ]\n}"],"metadata":null,"see":[],"headers":[],"show":true},{"doc_url":"/docs/1.0/boards/show","name":"show","apis":[{"api_url":"/api/v1/boards/:id","http_method":"GET","short_description":"Load a single continuity as a JSON resource.","deprecated":null}],"formats":null,"full_description":"","errors":[{"code":404,"description":"Continuity not found","metadata":null}],"params":[{"name":"id","full_name":"id","description":"\n\u003cp\u003eContinuity ID\u003c/p\u003e\n","required":true,"allow_nil":false,"allow_blank":false,"validator":"Must be a number.","expected_type":"numeric","metadata":null,"show":true,"validations":[],"deprecated":false}],"returns":[],"examples":["GET /api/v1/boards/0\n404\n{\n  \"errors\": [\n    {\n      \"message\": \"Continuity could not be found.\"\n    }\n  ]\n}","GET /api/v1/boards/1\n200\n{\n  \"id\": 1,\n  \"name\": \"test board 00005\",\n  \"board_sections\": [\n    {\n      \"id\": 2,\n      \"name\": \"TestSection00001\",\n      \"order\": 0\n    },\n    {\n      \"id\": 1,\n      \"name\": \"TestSection00000\",\n      \"order\": 1\n    }\n  ]\n}"],"metadata":null,"see":[],"headers":[],"show":true},{"doc_url":"/docs/1.0/boards/posts","name":"posts","apis":[{"api_url":"/api/v1/boards/:id/posts","http_method":"GET","short_description":"Load all posts in the specified continuity","deprecated":null}],"formats":null,"full_description":"","errors":[{"code":404,"description":"Continuity not found","metadata":null}],"params":[{"name":"id","full_name":"id","description":"\n\u003cp\u003eContinuity ID\u003c/p\u003e\n","required":true,"allow_nil":false,"allow_blank":false,"validator":"Must be a number.","expected_type":"numeric","metadata":null,"show":true,"validations":[],"deprecated":false},{"name":"page","full_name":"page","description":"\n\u003cp\u003ePage in results (25 per page)\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a number.","expected_type":"numeric","metadata":null,"show":true,"validations":[],"deprecated":false}],"returns":[],"examples":["GET /api/v1/boards/0/posts\n404\n{\n  \"errors\": [\n    {\n      \"message\": \"Continuity could not be found.\"\n    }\n  ]\n}","GET /api/v1/boards/1/posts\n200\n{\n  \"results\": [\n    {\n      \"id\": 1,\n      \"subject\": \"test subject 00000\",\n      \"description\": \"\",\n      \"created_at\": \"2019-01-02T03:04:05.000Z\",\n      \"tagged_at\": \"2019-01-02T03:04:05.000Z\",\n      \"status\": \"active\",\n      \"section_order\": 0,\n      \"board\": {\n        \"id\": 1,\n        \"name\": \"test board 00006\"\n      },\n      \"section\": {\n        \"id\": 1,\n        \"name\": \"TestSection00002\",\n        \"order\": 0\n      },\n      \"authors\": [\n        {\n          \"id\": 2,\n          \"username\": \"JohnDoe00011\"\n        }\n      ],\n      \"num_replies\": 0\n    }\n  ]\n}"],"metadata":null,"see":[],"headers":[],"show":true}],"headers":[],"deprecated":false},"bookmarks":{"doc_url":"/docs/1.0/bookmarks","id":"bookmarks","api_url":"/api/v1","name":"Bookmarks","short_description":null,"full_description":"\n\u003cp\u003eViewing and modifying bookmarks\u003c/p\u003e\n","version":"1.0","formats":null,"metadata":null,"methods":[{"doc_url":"/docs/1.0/bookmarks/create","name":"create","apis":[{"api_url":"/api/v1/bookmarks","http_method":"POST","short_description":"Create a bookmark for the current user at a reply. If one already exists, update it.","deprecated":null}],"formats":null,"full_description":"","errors":[{"code":403,"description":"Reply is not visible to the user","metadata":null},{"code":404,"description":"Reply not found","metadata":null},{"code":422,"description":"Invalid parameters provided","metadata":null}],"params":[{"name":"reply_id","full_name":"reply_id","description":"\n\u003cp\u003eReply ID\u003c/p\u003e\n","required":true,"allow_nil":false,"allow_blank":false,"validator":"Must be a number.","expected_type":"numeric","metadata":null,"show":true,"validations":[],"deprecated":false},{"name":"name","full_name":"name","description":"\n\u003cp\u003eNew bookmark’s name\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":true,"validator":"Must be a String","expected_type":"string","metadata":null,"show":true,"validations":[],"deprecated":false},{"name":"public","full_name":"public","description":"\n\u003cp\u003eNew bookmark’s public status\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":true,"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":[],"deprecated":false}],"returns":[],"examples":["POST /api/v1/bookmarks\n{}\n401\n{\n  \"errors\": [\n    {\n      \"message\": \"You must be logged in to view that page.\"\n    }\n  ]\n}","POST /api/v1/bookmarks\n{}\n422\n{\n  \"errors\": [\n    {\n      \"message\": \"Missing parameter reply_id\"\n    }\n  ]\n}","POST /api/v1/bookmarks\n{\n  \"reply_id\": \"0\"\n}\n404\n{\n  \"errors\": [\n    {\n      \"message\": \"Reply could not be found.\"\n    }\n  ]\n}","POST /api/v1/bookmarks\n{\n  \"reply_id\": \"1\"\n}\n403\n{\n  \"errors\": [\n    {\n      \"message\": \"You do not have permission to perform this action.\"\n    }\n  ]\n}","POST /api/v1/bookmarks\n{\n  \"reply_id\": \"1\"\n}\n200\n{\n  \"id\": 1,\n  \"user_id\": 1,\n  \"reply_id\": 1,\n  \"post_id\": 1,\n  \"name\": null,\n  \"type\": \"reply_bookmark\",\n  \"public\": false,\n  \"created_at\": \"2019-12-25T21:34:56.000Z\",\n  \"updated_at\": \"2019-12-25T21:34:56.000Z\"\n}","POST /api/v1/bookmarks\n{\n  \"name\": \"New Bookmark\",\n  \"reply_id\": \"1\"\n}\n200\n{\n  \"id\": 1,\n  \"user_id\": 1,\n  \"reply_id\": 1,\n  \"post_id\": 1,\n  \"name\": \"New Bookmark\",\n  \"type\": \"reply_bookmark\",\n  \"public\": false,\n  \"created_at\": \"2019-12-25T21:34:56.000Z\",\n  \"updated_at\": \"2019-12-25T21:34:56.000Z\"\n}","POST /api/v1/bookmarks\n{\n  \"public\": \"true\",\n  \"reply_id\": \"1\"\n}\n200\n{\n  \"id\": 1,\n  \"user_id\": 1,\n  \"reply_id\": 1,\n  \"post_id\": 1,\n  \"name\": null,\n  \"type\": \"reply_bookmark\",\n  \"public\": true,\n  \"created_at\": \"2019-12-25T21:34:56.000Z\",\n  \"updated_at\": \"2019-12-25T21:34:56.000Z\"\n}","POST /api/v1/bookmarks\n{\n  \"name\": \"New Bookmark\",\n  \"public\": \"true\",\n  \"reply_id\": \"1\"\n}\n200\n{\n  \"id\": 1,\n  \"user_id\": 1,\n  \"reply_id\": 1,\n  \"post_id\": 1,\n  \"name\": \"New Bookmark\",\n  \"type\": \"reply_bookmark\",\n  \"public\": true,\n  \"created_at\": \"2019-12-25T21:34:56.000Z\",\n  \"updated_at\": \"2019-12-25T21:34:56.000Z\"\n}","POST /api/v1/bookmarks\n{\n  \"name\": \"New Name\",\n  \"reply_id\": \"1\"\n}\n200\n{\n  \"name\": \"New Name\",\n  \"post_id\": 1,\n  \"user_id\": 1,\n  \"reply_id\": 1,\n  \"type\": \"reply_bookmark\",\n  \"id\": 1,\n  \"public\": false,\n  \"created_at\": \"2019-12-25T21:34:56.000Z\",\n  \"updated_at\": \"2019-12-25T21:34:56.000Z\"\n}"],"metadata":null,"see":[],"headers":[{"name":"Authorization","description":"Authorization token for a user in the format \"Authorization\" : \"Bearer [token]\"","options":{"required":true}}],"show":true},{"doc_url":"/docs/1.0/bookmarks/update","name":"update","apis":[{"api_url":"/api/v1/bookmarks/:id","http_method":"PATCH","short_description":"Update a single bookmark.","deprecated":null}],"formats":null,"full_description":"","errors":[{"code":403,"description":"Bookmark is not visible to the user","metadata":null},{"code":404,"description":"Bookmark not found","metadata":null},{"code":422,"description":"Invalid parameters provided","metadata":null}],"params":[{"name":"id","full_name":"id","description":"\n\u003cp\u003eBookmark ID\u003c/p\u003e\n","required":true,"allow_nil":false,"allow_blank":false,"validator":"Must be a number.","expected_type":"numeric","metadata":null,"show":true,"validations":[],"deprecated":false},{"name":"name","full_name":"name","description":"\n\u003cp\u003eBookmark’s new name\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":true,"validator":"Must be a String","expected_type":"string","metadata":null,"show":true,"validations":[],"deprecated":false},{"name":"public","full_name":"public","description":"\n\u003cp\u003eBookmark’s new public status\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":true,"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":[],"deprecated":false}],"returns":[],"examples":["PATCH /api/v1/bookmarks/0\n{}\n401\n{\n  \"errors\": [\n    {\n      \"message\": \"You must be logged in to view that page.\"\n    }\n  ]\n}","PATCH /api/v1/bookmarks/0\n{}\n404\n{\n  \"errors\": [\n    {\n      \"message\": \"Bookmark could not be found.\"\n    }\n  ]\n}","PATCH /api/v1/bookmarks/1\n{}\n403\n{\n  \"errors\": [\n    {\n      \"message\": \"You do not have permission to perform this action.\"\n    }\n  ]\n}","PATCH /api/v1/bookmarks/1\n{\n  \"name\": \"New\"\n}\n403\n{\n  \"errors\": [\n    {\n      \"message\": \"You do not have permission to perform this action.\"\n    }\n  ]\n}","PATCH /api/v1/bookmarks/1\n{\n  \"name\": \"New name\"\n}\n403\n{\n  \"errors\": [\n    {\n      \"message\": \"You do not have permission to perform this action.\"\n    }\n  ]\n}","PATCH /api/v1/bookmarks/1\n{\n  \"name\": \"New name\"\n}\n200\n{\n  \"post_id\": 1,\n  \"reply_id\": 1,\n  \"user_id\": 1,\n  \"name\": \"New name\",\n  \"type\": \"reply_bookmark\",\n  \"id\": 1,\n  \"public\": false,\n  \"created_at\": \"2019-12-25T21:34:56.000Z\",\n  \"updated_at\": \"2019-12-25T21:34:56.000Z\"\n}","PATCH /api/v1/bookmarks/1\n{\n  \"name\": \"\"\n}\n200\n{\n  \"post_id\": 1,\n  \"reply_id\": 1,\n  \"user_id\": 1,\n  \"name\": \"\",\n  \"type\": \"reply_bookmark\",\n  \"id\": 1,\n  \"public\": false,\n  \"created_at\": \"2019-12-25T21:34:56.000Z\",\n  \"updated_at\": \"2019-12-25T21:34:56.000Z\"\n}","PATCH /api/v1/bookmarks/1\n{\n  \"public\": \"true\"\n}\n200\n{\n  \"post_id\": 1,\n  \"reply_id\": 1,\n  \"user_id\": 1,\n  \"public\": true,\n  \"type\": \"reply_bookmark\",\n  \"id\": 1,\n  \"name\": \"Old name\",\n  \"created_at\": \"2019-12-25T21:34:56.000Z\",\n  \"updated_at\": \"2019-12-25T21:34:56.000Z\"\n}","PATCH /api/v1/bookmarks/1\n{\n  \"name\": \"New name\",\n  \"public\": \"true\"\n}\n200\n{\n  \"post_id\": 1,\n  \"reply_id\": 1,\n  \"user_id\": 1,\n  \"name\": \"New name\",\n  \"public\": true,\n  \"type\": \"reply_bookmark\",\n  \"id\": 1,\n  \"created_at\": \"2019-12-25T21:34:56.000Z\",\n  \"updated_at\": \"2019-12-25T21:34:56.000Z\"\n}"],"metadata":null,"see":[],"headers":[{"name":"Authorization","description":"Authorization token for a user in the format \"Authorization\" : \"Bearer [token]\"","options":{"required":true}}],"show":true},{"doc_url":"/docs/1.0/bookmarks/destroy","name":"destroy","apis":[{"api_url":"/api/v1/bookmarks/:id","http_method":"DELETE","short_description":"Removes a bookmark","deprecated":null}],"formats":null,"full_description":"","errors":[{"code":403,"description":"Bookmark is not visible to the user","metadata":null},{"code":404,"description":"Bookmark not found","metadata":null},{"code":422,"description":"Invalid parameters provided","metadata":null}],"params":[{"name":"id","full_name":"id","description":"\n\u003cp\u003eBookmark ID\u003c/p\u003e\n","required":true,"allow_nil":false,"allow_blank":false,"validator":"Must be a number.","expected_type":"numeric","metadata":null,"show":true,"validations":[],"deprecated":false}],"returns":[],"examples":["DELETE /api/v1/bookmarks/0\n{}\n401\n{\n  \"errors\": [\n    {\n      \"message\": \"You must be logged in to view that page.\"\n    }\n  ]\n}","DELETE /api/v1/bookmarks/0\n{}\n404\n{\n  \"errors\": [\n    {\n      \"message\": \"Bookmark could not be found.\"\n    }\n  ]\n}","DELETE /api/v1/bookmarks/1\n{}\n403\n{\n  \"errors\": [\n    {\n      \"message\": \"You do not have permission to perform this action.\"\n    }\n  ]\n}","DELETE /api/v1/bookmarks/1\n{}\n403\n{\n  \"errors\": [\n    {\n      \"message\": \"You do not have permission to perform this action.\"\n    }\n  ]\n}","DELETE /api/v1/bookmarks/1\n{}\n204"],"metadata":null,"see":[],"headers":[{"name":"Authorization","description":"Authorization token for a user in the format \"Authorization\" : \"Bearer [token]\"","options":{"required":true}}],"show":true}],"headers":[],"deprecated":false},"characters":{"doc_url":"/docs/1.0/characters","id":"characters","api_url":"/api/v1","name":"Characters","short_description":null,"full_description":"\n\u003cp\u003eViewing and editing characters\u003c/p\u003e\n","version":"1.0","formats":null,"metadata":null,"methods":[{"doc_url":"/docs/1.0/characters/index","name":"index","apis":[{"api_url":"/api/v1/characters","http_method":"GET","short_description":"Load all the characters that match the given query, results ordered by name","deprecated":null}],"formats":null,"full_description":"","errors":[{"code":403,"description":"Post is not visible to the user","metadata":null},{"code":422,"description":"Invalid parameters provided","metadata":null}],"params":[{"name":"q","full_name":"q","description":"\n\u003cp\u003eIf provided, will return only characters where q is present as a substring anywhere in any of a character’s name, screenname or template nickname.\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a String","expected_type":"string","metadata":null,"show":true,"validations":[],"deprecated":false},{"name":"page","full_name":"page","description":"\n\u003cp\u003ePage in results (25 per page)\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a number.","expected_type":"numeric","metadata":null,"show":true,"validations":[],"deprecated":false},{"name":"post_id","full_name":"post_id","description":"\n\u003cp\u003eIf provided, will return only characters that appear in the provided post\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a number.","expected_type":"numeric","metadata":null,"show":true,"validations":[],"deprecated":false},{"name":"user_id","full_name":"user_id","description":"\n\u003cp\u003eIf provided, will return only characters that belong to the provided user\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a number.","expected_type":"numeric","metadata":null,"show":true,"validations":[],"deprecated":false},{"name":"template_id","full_name":"template_id","description":"\n\u003cp\u003eIf provided, will return only characters that belong to the provided template. Use 0 to find only characters with no template.\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a number.","expected_type":"numeric","metadata":null,"show":true,"validations":[],"deprecated":false},{"name":"includes","full_name":"includes","description":"\n\u003cp\u003eSpecify additional fields to return in JSON\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be an array of [\"default_icon\", \"aliases\", \"nickname\"]","expected_type":"array","metadata":null,"show":true,"validations":[],"deprecated":false}],"returns":[],"examples":["GET /api/v1/characters\n200\n{\n  \"results\": [\n    {\n      \"id\": 1,\n      \"name\": \"test character 00000\",\n      \"screenname\": null,\n      \"npc\": false,\n      \"selector_name\": \"test character 00000\"\n    }\n  ]\n}","GET /api/v1/characters\n422\n{\n  \"errors\": [\n    {\n      \"message\": \"Post could not be found.\"\n    }\n  ]\n}","GET /api/v1/characters\n422\n{\n  \"errors\": [\n    {\n      \"message\": \"Template could not be found.\"\n    }\n  ]\n}","GET /api/v1/characters\n422\n{\n  \"errors\": [\n    {\n      \"message\": \"User could not be found.\"\n    }\n  ]\n}","GET /api/v1/characters\n422\n{\n  \"errors\": [\n    {\n      \"message\": \"Invalid parameter 'includes' value ['invalid']: Must be an array of ['default_icon', 'aliases', 'nickname']\"\n    }\n  ]\n}","GET /api/v1/characters\n403\n{\n  \"errors\": [\n    {\n      \"message\": \"You do not have permission to perform this action.\"\n    }\n  ]\n}"],"metadata":null,"see":[],"headers":[],"show":true},{"doc_url":"/docs/1.0/characters/show","name":"show","apis":[{"api_url":"/api/v1/characters/:id","http_method":"GET","short_description":"Load a single character as a JSON resource","deprecated":null}],"formats":null,"full_description":"","errors":[{"code":403,"description":"Post is not visible to the user","metadata":null},{"code":404,"description":"Character not found","metadata":null},{"code":422,"description":"Invalid parameters provided","metadata":null}],"params":[{"name":"id","full_name":"id","description":"\n\u003cp\u003eCharacter ID\u003c/p\u003e\n","required":true,"allow_nil":false,"allow_blank":false,"validator":"Must be a number.","expected_type":"numeric","metadata":null,"show":true,"validations":[],"deprecated":false},{"name":"post_id","full_name":"post_id","description":"\n\u003cp\u003eIf provided, will return an additional alias_id_for_post param to represent most recently used alias for this character in the provided post\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a number.","expected_type":"numeric","metadata":null,"show":true,"validations":[],"deprecated":false}],"returns":[],"examples":["GET /api/v1/characters/-1\n404\n{\n  \"errors\": [\n    {\n      \"message\": \"Character could not be found.\"\n    }\n  ]\n}","GET /api/v1/characters/1\n200\n{\n  \"id\": 1,\n  \"name\": \"test character 00006\",\n  \"screenname\": null,\n  \"npc\": false,\n  \"default_icon\": null,\n  \"aliases\": [\n    {\n      \"id\": 1,\n      \"name\": \"TestAlias00000\"\n    }\n  ],\n  \"galleries\": [\n    {\n      \"name\": \"test gallery 00000\",\n      \"icons\": [\n        {\n          \"id\": 1,\n          \"url\": \"http://www.fakeicon.com\",\n          \"keyword\": \"totally fake 00000\"\n        },\n        {\n          \"id\": 2,\n          \"url\": \"http://www.fakeicon.com\",\n          \"keyword\": \"totally fake 00001\"\n        }\n      ]\n    },\n    {\n      \"name\": \"test gallery 00001\",\n      \"icons\": [\n        {\n          \"id\": 3,\n          \"url\": \"http://www.fakeicon.com\",\n          \"keyword\": \"totally fake 00002\"\n        }\n      ]\n    }\n  ]\n}","GET /api/v1/characters/1\n422\n{\n  \"errors\": [\n    {\n      \"message\": \"Post could not be found.\"\n    }\n  ]\n}","GET /api/v1/characters/1\n403\n{\n  \"errors\": [\n    {\n      \"message\": \"You do not have permission to perform this action.\"\n    }\n  ]\n}","GET /api/v1/characters/1\n200\n{\n  \"id\": 1,\n  \"name\": \"test character 00009\",\n  \"screenname\": null,\n  \"npc\": false,\n  \"alias_id_for_post\": 1,\n  \"default_icon\": null,\n  \"aliases\": [\n    {\n      \"id\": 1,\n      \"name\": \"TestAlias00001\"\n    }\n  ],\n  \"galleries\": []\n}"],"metadata":null,"see":[],"headers":[],"show":true},{"doc_url":"/docs/1.0/characters/update","name":"update","apis":[{"api_url":"/api/v1/characters/:id","http_method":"PATCH","short_description":"Update a given character","deprecated":null}],"formats":null,"full_description":"","errors":[{"code":401,"description":"You must be logged in","metadata":null},{"code":403,"description":"Character is not editable by the user","metadata":null},{"code":404,"description":"Character not found","metadata":null},{"code":422,"description":"Invalid parameters provided","metadata":null}],"params":[{"name":"id","full_name":"id","description":"\n\u003cp\u003eCharacter ID\u003c/p\u003e\n","required":true,"allow_nil":false,"allow_blank":false,"validator":"Must be a number.","expected_type":"numeric","metadata":null,"show":true,"validations":[],"deprecated":false}],"returns":[],"examples":["PUT /api/v1/characters/-1\n{}\n401\n{\n  \"errors\": [\n    {\n      \"message\": \"You must be logged in to view that page.\"\n    }\n  ]\n}","PUT /api/v1/characters/-1\n{}\n404\n{\n  \"errors\": [\n    {\n      \"message\": \"Character could not be found.\"\n    }\n  ]\n}","PUT /api/v1/characters/1\n{}\n403\n{\n  \"errors\": [\n    {\n      \"message\": \"You do not have permission to perform this action.\"\n    }\n  ]\n}","PUT /api/v1/characters/1\n{\n  \"character\": {\n    \"default_icon_id\": \"2\"\n  }\n}\n200\n{\n  \"id\": 1,\n  \"name\": \"test character 00011\",\n  \"screenname\": null,\n  \"npc\": false,\n  \"default_icon\": {\n    \"id\": 2,\n    \"url\": \"http://www.fakeicon.com\",\n    \"keyword\": \"totally fake 00004\"\n  }\n}","PUT /api/v1/characters/1\n{\n  \"character\": {\n    \"default_icon_id\": \"2\",\n    \"name\": \"\",\n    \"user_id\": \"\"\n  }\n}\n422\n{\n  \"errors\": [\n    {\n      \"message\": \"Name can't be blank\"\n    }\n  ]\n}"],"metadata":null,"see":[],"headers":[],"show":true},{"doc_url":"/docs/1.0/characters/reorder","name":"reorder","apis":[{"api_url":"/api/v1/characters/reorder","http_method":"POST","short_description":"Update the order of galleries on a character. This is an unstable feature, and may be moved or renamed; it should not be trusted.","deprecated":null}],"formats":null,"full_description":"","errors":[{"code":401,"description":"You must be logged in","metadata":null},{"code":403,"description":"Character is not editable by the user","metadata":null},{"code":404,"description":"CharactersGallery IDs could not be found","metadata":null},{"code":422,"description":"Invalid parameters provided","metadata":null}],"params":[{"name":"ordered_characters_gallery_ids","full_name":"ordered_characters_gallery_ids","description":"","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be an array of any type","expected_type":"array","metadata":null,"show":true,"validations":[],"deprecated":false}],"returns":[],"examples":["POST /api/v1/characters/reorder\n{}\n401\n{\n  \"errors\": [\n    {\n      \"message\": \"You must be logged in to view that page.\"\n    }\n  ]\n}","POST /api/v1/characters/reorder\n{\n  \"ordered_characters_gallery_ids\": [\n    \"3\",\n    \"1\",\n    \"4\",\n    \"2\"\n  ]\n}\n200\n{\n  \"characters_gallery_ids\": [\n    3,\n    1,\n    4,\n    2\n  ]\n}","POST /api/v1/characters/reorder\n{\n  \"ordered_characters_gallery_ids\": [\n    \"3\",\n    \"1\"\n  ]\n}\n200\n{\n  \"characters_gallery_ids\": [\n    3,\n    1,\n    2,\n    4\n  ]\n}"],"metadata":null,"see":[],"headers":[],"show":true}],"headers":[],"deprecated":false},"galleries":{"doc_url":"/docs/1.0/galleries","id":"galleries","api_url":"/api/v1","name":"Galleries","short_description":null,"full_description":"\n\u003cp\u003eViewing and editing galleries\u003c/p\u003e\n","version":"1.0","formats":null,"metadata":null,"methods":[{"doc_url":"/docs/1.0/galleries/show","name":"show","apis":[{"api_url":"/api/v1/galleries/:id","http_method":"GET","short_description":"Load a single gallery as a JSON resource","deprecated":null}],"formats":null,"full_description":"","errors":[{"code":404,"description":"Gallery not found","metadata":null},{"code":422,"description":"User ID required but missing or invalid","metadata":null}],"params":[{"name":"id","full_name":"id","description":"\n\u003cp\u003eGallery ID. May pass 0 to represent icons without a gallery.\u003c/p\u003e\n","required":true,"allow_nil":false,"allow_blank":false,"validator":"Must be a number.","expected_type":"numeric","metadata":null,"show":true,"validations":[],"deprecated":false},{"name":"user_id","full_name":"user_id","description":"\n\u003cp\u003eUser ID required when accessing galleryless icons while logged out.\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a number.","expected_type":"numeric","metadata":null,"show":true,"validations":[],"deprecated":false}],"returns":[],"examples":["GET /api/v1/galleries/0\n422\n{\n  \"errors\": [\n    {\n      \"message\": \"Gallery user could not be found.\"\n    }\n  ]\n}","GET /api/v1/galleries/0\n200\n{\n  \"name\": \"Galleryless\",\n  \"icons\": []\n}","GET /api/v1/galleries/1\n404\n{\n  \"errors\": [\n    {\n      \"message\": \"Gallery could not be found.\"\n    }\n  ]\n}","GET /api/v1/galleries/1\n200\n{\n  \"name\": \"test gallery 00012\",\n  \"icons\": [\n    {\n      \"id\": 1,\n      \"url\": \"http://www.fakeicon.com\",\n      \"keyword\": \"totally fake 00007\"\n    }\n  ]\n}"],"metadata":null,"see":[],"headers":[],"show":true}],"headers":[],"deprecated":false},"icons":{"doc_url":"/docs/1.0/icons","id":"icons","api_url":"/api/v1","name":"Icons","short_description":null,"full_description":"\n\u003cp\u003eProcesses S3 uploads that were not used\u003c/p\u003e\n","version":"1.0","formats":null,"metadata":null,"methods":[{"doc_url":"/docs/1.0/icons/s3_delete","name":"s3_delete","apis":[{"api_url":"/api/v1/icons/s3_delete","http_method":"POST","short_description":"Given an S3 key that the user has not turned into an icon, deletes the file from S3","deprecated":null}],"formats":null,"full_description":"","errors":[{"code":401,"description":"You must be logged in","metadata":null},{"code":403,"description":"Icon does not belong to the user","metadata":null},{"code":422,"description":"Invalid parameters provided: s3 key is in use.","metadata":null}],"params":[{"name":"s3_key","full_name":"s3_key","description":"\n\u003cp\u003eS3 object key\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":[],"deprecated":false}],"returns":[],"examples":["POST /api/v1/icons/s3_delete\n{}\n401\n{\n  \"errors\": [\n    {\n      \"message\": \"You must be logged in to view that page.\"\n    }\n  ]\n}","POST /api/v1/icons/s3_delete\n{}\n422\n{\n  \"errors\": [\n    {\n      \"message\": \"Missing parameter s3_key\"\n    }\n  ]\n}","POST /api/v1/icons/s3_delete\n{\n  \"s3_key\": \"users/11/icons/hash_name.png\"\n}\n403\n{\n  \"errors\": [\n    {\n      \"message\": \"You do not have permission to modify this icon.\"\n    }\n  ]\n}","POST /api/v1/icons/s3_delete\n{\n  \"s3_key\": \"users/1/icons/nonsense-fakeimg-00000.png\"\n}\n422\n{\n  \"errors\": [\n    {\n      \"message\": \"Only unused icons can be deleted.\"\n    }\n  ]\n}","POST /api/v1/icons/s3_delete\n{\n  \"s3_key\": \"users/1/icons/nonsense-fakeimg-00001.png\"\n}\n200\n{}"],"metadata":null,"see":[],"headers":[],"show":true}],"headers":[],"deprecated":false},"index_posts":{"doc_url":"/docs/1.0/index_posts","id":"index_posts","api_url":"/api/v1","name":"Index Posts","short_description":null,"full_description":"\n\u003cp\u003eViewing and editing index posts\u003c/p\u003e\n","version":"1.0","formats":null,"metadata":null,"methods":[{"doc_url":"/docs/1.0/index_posts/reorder","name":"reorder","apis":[{"api_url":"/api/v1/index_posts/reorder","http_method":"POST","short_description":"Update the order of posts. This is an unstable feature, and may be moved or renamed; it should not be trusted.","deprecated":null}],"formats":null,"full_description":"","errors":[{"code":401,"description":"You must be logged in","metadata":null},{"code":403,"description":"Index is not editable by the user","metadata":null},{"code":404,"description":"Post IDs could not be found","metadata":null},{"code":422,"description":"Invalid parameters provided","metadata":null}],"params":[{"name":"ordered_post_ids","full_name":"ordered_post_ids","description":"","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be an array of any type","expected_type":"array","metadata":null,"show":true,"validations":[],"deprecated":false},{"name":"section_id","full_name":"section_id","description":"","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a number.","expected_type":"numeric","metadata":null,"show":true,"validations":[],"deprecated":false}],"returns":[],"examples":["POST /api/v1/index_posts/reorder\n{}\n401\n{\n  \"errors\": [\n    {\n      \"message\": \"You must be logged in to view that page.\"\n    }\n  ]\n}","POST /api/v1/index_posts/reorder\n{\n  \"ordered_post_ids\": [\n    \"3\",\n    \"1\",\n    \"4\",\n    \"2\"\n  ]\n}\n200\n{\n  \"post_ids\": [\n    3,\n    1,\n    4,\n    2\n  ]\n}","POST /api/v1/index_posts/reorder\n{\n  \"ordered_post_ids\": [\n    \"3\",\n    \"1\"\n  ]\n}\n200\n{\n  \"post_ids\": [\n    3,\n    1,\n    2,\n    4\n  ]\n}","POST /api/v1/index_posts/reorder\n{\n  \"ordered_post_ids\": [\n    \"3\",\n    \"1\",\n    \"4\",\n    \"2\"\n  ],\n  \"section_id\": \"1\"\n}\n200\n{\n  \"post_ids\": [\n    3,\n    1,\n    4,\n    2\n  ]\n}","POST /api/v1/index_posts/reorder\n{\n  \"ordered_post_ids\": [\n    \"3\",\n    \"1\"\n  ],\n  \"section_id\": \"1\"\n}\n200\n{\n  \"post_ids\": [\n    3,\n    1,\n    2,\n    4\n  ]\n}"],"metadata":null,"see":[],"headers":[],"show":true}],"headers":[],"deprecated":false},"index_sections":{"doc_url":"/docs/1.0/index_sections","id":"index_sections","api_url":"/api/v1","name":"Index Sections","short_description":null,"full_description":"\n\u003cp\u003eViewing and editing index sections\u003c/p\u003e\n","version":"1.0","formats":null,"metadata":null,"methods":[{"doc_url":"/docs/1.0/index_sections/reorder","name":"reorder","apis":[{"api_url":"/api/v1/index_sections/reorder","http_method":"POST","short_description":"Update the order of index sections. This is an unstable feature, and may be moved or renamed; it should not be trusted.","deprecated":null}],"formats":null,"full_description":"","errors":[{"code":401,"description":"You must be logged in","metadata":null},{"code":403,"description":"Index is not editable by the user","metadata":null},{"code":404,"description":"Section IDs could not be found","metadata":null},{"code":422,"description":"Invalid parameters provided","metadata":null}],"params":[{"name":"ordered_section_ids","full_name":"ordered_section_ids","description":"","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be an array of any type","expected_type":"array","metadata":null,"show":true,"validations":[],"deprecated":false}],"returns":[],"examples":["POST /api/v1/index_sections/reorder\n{}\n401\n{\n  \"errors\": [\n    {\n      \"message\": \"You must be logged in to view that page.\"\n    }\n  ]\n}","POST /api/v1/index_sections/reorder\n{\n  \"ordered_section_ids\": [\n    \"3\",\n    \"1\",\n    \"4\",\n    \"2\"\n  ]\n}\n200\n{\n  \"section_ids\": [\n    3,\n    1,\n    4,\n    2\n  ]\n}","POST /api/v1/index_sections/reorder\n{\n  \"ordered_section_ids\": [\n    \"3\",\n    \"1\"\n  ]\n}\n200\n{\n  \"section_ids\": [\n    3,\n    1,\n    2,\n    4\n  ]\n}"],"metadata":null,"see":[],"headers":[],"show":true}],"headers":[],"deprecated":false},"posts":{"doc_url":"/docs/1.0/posts","id":"posts","api_url":"/api/v1","name":"Posts","short_description":null,"full_description":"\n\u003cp\u003eViewing and editing posts\u003c/p\u003e\n","version":"1.0","formats":null,"metadata":null,"methods":[{"doc_url":"/docs/1.0/posts/index","name":"index","apis":[{"api_url":"/api/v1/posts","http_method":"GET","short_description":"Load all posts optionally filtered by subject","deprecated":null}],"formats":null,"full_description":"","errors":[],"params":[{"name":"q","full_name":"q","description":"\n\u003cp\u003eSubject search term\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a String","expected_type":"string","metadata":null,"show":true,"validations":[],"deprecated":false},{"name":"min","full_name":"min","description":"\n\u003cp\u003eIf present, returns only ID and subject per post\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a String","expected_type":"string","metadata":null,"show":true,"validations":[],"deprecated":false}],"returns":[],"examples":["GET /api/v1/posts\n200\n{\n  \"results\": [\n    {\n      \"id\": 1,\n      \"subject\": \"test subject 00041\"\n    }\n  ]\n}","GET /api/v1/posts\n200\n{\n  \"results\": [\n    {\n      \"id\": 1,\n      \"subject\": \"search\"\n    }\n  ]\n}","GET /api/v1/posts\n200\n{\n  \"results\": [\n    {\n      \"id\": 1,\n      \"subject\": \"test subject 00042\",\n      \"description\": \"\",\n      \"created_at\": \"2019-12-25T21:34:56.000Z\",\n      \"tagged_at\": \"2019-12-25T21:34:56.000Z\",\n      \"status\": \"active\",\n      \"section_order\": 0,\n      \"board\": {\n        \"id\": 1,\n        \"name\": \"test board 00050\"\n      },\n      \"section\": null,\n      \"authors\": [\n        {\n          \"id\": 1,\n          \"username\": \"JohnDoe00174\"\n        }\n      ],\n      \"num_replies\": 0\n    }\n  ]\n}"],"metadata":null,"see":[],"headers":[],"show":true},{"doc_url":"/docs/1.0/posts/show","name":"show","apis":[{"api_url":"/api/v1/posts/:id","http_method":"GET","short_description":"Load a single post as a JSON resource","deprecated":null}],"formats":null,"full_description":"","errors":[{"code":403,"description":"Post is not visible to the user","metadata":null},{"code":404,"description":"Post not found","metadata":null}],"params":[{"name":"id","full_name":"id","description":"\n\u003cp\u003ePost ID\u003c/p\u003e\n","required":true,"allow_nil":false,"allow_blank":false,"validator":"Must be a number.","expected_type":"numeric","metadata":null,"show":true,"validations":[],"deprecated":false}],"returns":[],"examples":["GET /api/v1/posts/0\n404\n{\n  \"errors\": [\n    {\n      \"message\": \"Post could not be found.\"\n    }\n  ]\n}","GET /api/v1/posts/1\n403\n{\n  \"errors\": [\n    {\n      \"message\": \"You do not have permission to perform this action.\"\n    }\n  ]\n}","GET /api/v1/posts/1\n200\n{\n  \"id\": 1,\n  \"subject\": \"test subject 00044\",\n  \"description\": \"\",\n  \"created_at\": \"2019-12-25T21:34:56.000Z\",\n  \"tagged_at\": \"2019-12-25T21:34:56.000Z\",\n  \"status\": \"active\",\n  \"section_order\": 0,\n  \"board\": {\n    \"id\": 1,\n    \"name\": \"test board 00052\"\n  },\n  \"section\": null,\n  \"authors\": [\n    {\n      \"id\": 1,\n      \"username\": \"JohnDoe00178\"\n    }\n  ],\n  \"num_replies\": 0,\n  \"content\": \"test content\",\n  \"character\": {\n    \"id\": 1,\n    \"name\": \"test character 00017\",\n    \"screenname\": null\n  },\n  \"icon\": {\n    \"id\": 1,\n    \"url\": \"http://www.fakeicon.com\",\n    \"keyword\": \"totally fake 00010\"\n  }\n}"],"metadata":null,"see":[],"headers":[],"show":true},{"doc_url":"/docs/1.0/posts/update","name":"update","apis":[{"api_url":"/api/v1/posts/:id","http_method":"PATCH","short_description":"Update a single post. Currently only supports saving the private note for an author.","deprecated":null}],"formats":null,"full_description":"","errors":[{"code":403,"description":"Post is not visible to the user","metadata":null},{"code":404,"description":"Post not found","metadata":null},{"code":422,"description":"Invalid parameters provided","metadata":null}],"params":[{"name":"id","full_name":"id","description":"\n\u003cp\u003ePost ID\u003c/p\u003e\n","required":true,"allow_nil":false,"allow_blank":false,"validator":"Must be a number.","expected_type":"numeric","metadata":null,"show":true,"validations":[],"deprecated":false},{"name":"private_note","full_name":"private_note","description":"\n\u003cp\u003eAuthor’s private notes about this post\u003c/p\u003e\n","required":true,"allow_nil":false,"allow_blank":true,"validator":"Must be a String","expected_type":"string","metadata":null,"show":true,"validations":[],"deprecated":false}],"returns":[],"examples":["PATCH /api/v1/posts/0\n{}\n401\n{\n  \"errors\": [\n    {\n      \"message\": \"You must be logged in to view that page.\"\n    }\n  ]\n}","PATCH /api/v1/posts/0\n{}\n404\n{\n  \"errors\": [\n    {\n      \"message\": \"Post could not be found.\"\n    }\n  ]\n}","PATCH /api/v1/posts/1\n{}\n403\n{\n  \"errors\": [\n    {\n      \"message\": \"You do not have permission to perform this action.\"\n    }\n  ]\n}","PATCH /api/v1/posts/1\n{}\n422\n{\n  \"errors\": [\n    {\n      \"message\": \"Missing parameter private_note\"\n    }\n  ]\n}","PATCH /api/v1/posts/1\n{\n  \"private_note\": \"Shiny new note\"\n}\n200\n{\n  \"private_note\": \"\u003cp\u003eShiny new note\u003c/p\u003e\"\n}","PATCH /api/v1/posts/1\n{\n  \"private_note\": \"\"\n}\n200\n{\n  \"private_note\": \"\"\n}"],"metadata":null,"see":[],"headers":[{"name":"Authorization","description":"Authorization token for a user in the format \"Authorization\" : \"Bearer [token]\"","options":{"required":true}}],"show":true},{"doc_url":"/docs/1.0/posts/reorder","name":"reorder","apis":[{"api_url":"/api/v1/posts/reorder","http_method":"POST","short_description":"Update the order of posts. This is an unstable feature, and may be moved or renamed; it should not be trusted.","deprecated":null}],"formats":null,"full_description":"","errors":[{"code":401,"description":"You must be logged in","metadata":null},{"code":403,"description":"Continuity is not editable by the user","metadata":null},{"code":404,"description":"Post IDs could not be found","metadata":null},{"code":422,"description":"Invalid parameters provided","metadata":null}],"params":[{"name":"ordered_post_ids","full_name":"ordered_post_ids","description":"","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be an array of any type","expected_type":"array","metadata":null,"show":true,"validations":[],"deprecated":false},{"name":"section_id","full_name":"section_id","description":"","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a number.","expected_type":"numeric","metadata":null,"show":true,"validations":[],"deprecated":false}],"returns":[],"examples":["POST /api/v1/posts/reorder\n{}\n401\n{\n  \"errors\": [\n    {\n      \"message\": \"You must be logged in to view that page.\"\n    }\n  ]\n}","POST /api/v1/posts/reorder\n{\n  \"ordered_post_ids\": [\n    \"3\",\n    \"1\",\n    \"4\",\n    \"2\"\n  ]\n}\n200\n{\n  \"post_ids\": [\n    3,\n    1,\n    4,\n    2\n  ]\n}","POST /api/v1/posts/reorder\n{\n  \"ordered_post_ids\": [\n    \"3\",\n    \"1\"\n  ]\n}\n200\n{\n  \"post_ids\": [\n    3,\n    1,\n    2,\n    4\n  ]\n}","POST /api/v1/posts/reorder\n{\n  \"ordered_post_ids\": [\n    \"3\",\n    \"1\",\n    \"4\",\n    \"2\"\n  ],\n  \"section_id\": \"1\"\n}\n200\n{\n  \"post_ids\": [\n    3,\n    1,\n    4,\n    2\n  ]\n}","POST /api/v1/posts/reorder\n{\n  \"ordered_post_ids\": [\n    \"3\",\n    \"1\"\n  ],\n  \"section_id\": \"1\"\n}\n200\n{\n  \"post_ids\": [\n    3,\n    1,\n    2,\n    4\n  ]\n}"],"metadata":null,"see":[],"headers":[],"show":true}],"headers":[],"deprecated":false},"replies":{"doc_url":"/docs/1.0/replies","id":"replies","api_url":"/api/v1","name":"Replies","short_description":null,"full_description":"\n\u003cp\u003eViewing replies\u003c/p\u003e\n","version":"1.0","formats":null,"metadata":null,"methods":[{"doc_url":"/docs/1.0/replies/index","name":"index","apis":[{"api_url":"/api/v1/posts/:id/replies","http_method":"GET","short_description":"Load all the replies for a given post as JSON resources","deprecated":null}],"formats":null,"full_description":"","errors":[{"code":403,"description":"Post is not visible to the user","metadata":null},{"code":404,"description":"Post not found","metadata":null}],"params":[{"name":"post_id","full_name":"post_id","description":"\n\u003cp\u003ePost ID\u003c/p\u003e\n","required":true,"allow_nil":false,"allow_blank":false,"validator":"Must be a number.","expected_type":"numeric","metadata":null,"show":true,"validations":[],"deprecated":false},{"name":"page","full_name":"page","description":"\n\u003cp\u003ePage in results\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a number.","expected_type":"numeric","metadata":null,"show":true,"validations":[],"deprecated":false},{"name":"per_page","full_name":"per_page","description":"\n\u003cp\u003eNumber of replies to load per page. Defaults to 25, accepts values from 1-100 inclusive.\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a number.","expected_type":"numeric","metadata":null,"show":true,"validations":[],"deprecated":false}],"returns":[],"examples":["GET /api/v1/posts/0/replies\n404\n{\n  \"errors\": [\n    {\n      \"message\": \"Post could not be found.\"\n    }\n  ]\n}","GET /api/v1/posts/1/replies\n403\n{\n  \"errors\": [\n    {\n      \"message\": \"You do not have permission to perform this action.\"\n    }\n  ]\n}","GET /api/v1/posts/1/replies\n200\n[\n  {\n    \"id\": 1,\n    \"content\": \"test content 00016\",\n    \"created_at\": \"2019-12-25T21:34:56.000Z\",\n    \"updated_at\": \"2019-12-25T21:34:56.000Z\",\n    \"character_name\": null,\n    \"character\": null,\n    \"icon\": null,\n    \"user\": {\n      \"id\": 1,\n      \"username\": \"JohnDoe00217\"\n    }\n  },\n  {\n    \"id\": 2,\n    \"content\": \"test content 00017\",\n    \"created_at\": \"2019-12-25T21:34:56.000Z\",\n    \"updated_at\": \"2019-12-25T21:34:56.000Z\",\n    \"character_name\": null,\n    \"character\": null,\n    \"icon\": null,\n    \"user\": {\n      \"id\": 1,\n      \"username\": \"JohnDoe00217\"\n    }\n  },\n  {\n    \"id\": 3,\n    \"content\": \"test content 00018\",\n    \"created_at\": \"2019-12-25T21:34:56.000Z\",\n    \"updated_at\": \"2019-12-25T21:34:56.000Z\",\n    \"character_name\": \"TestAlias00002\",\n    \"character\": {\n      \"id\": 2,\n      \"name\": \"test character 00019\",\n      \"screenname\": null\n    },\n    \"icon\": {\n      \"id\": 2,\n      \"url\": \"http://www.fakeicon.com\",\n      \"keyword\": \"totally fake 00012\"\n    },\n    \"user\": {\n      \"id\": 3,\n      \"username\": \"JohnDoe00219\"\n    }\n  }\n]"],"metadata":null,"see":[],"headers":[],"show":true},{"doc_url":"/docs/1.0/replies/bookmark","name":"bookmark","apis":[{"api_url":"/api/v1/replies/:id/bookmark","http_method":"GET","short_description":"Load a user's bookmark attached to a reply if it exists and is visible","deprecated":null}],"formats":null,"full_description":"","errors":[{"code":403,"description":"Reply's post is not visible to the user","metadata":null},{"code":404,"description":"Reply or user not found","metadata":null},{"code":422,"description":"Invalid parameters provided","metadata":null}],"params":[{"name":"id","full_name":"id","description":"\n\u003cp\u003eReply ID\u003c/p\u003e\n","required":true,"allow_nil":false,"allow_blank":false,"validator":"Must be a number.","expected_type":"numeric","metadata":null,"show":true,"validations":[],"deprecated":false},{"name":"user_id","full_name":"user_id","description":"\n\u003cp\u003eUser ID\u003c/p\u003e\n","required":true,"allow_nil":false,"allow_blank":false,"validator":"Must be a number.","expected_type":"numeric","metadata":null,"show":true,"validations":[],"deprecated":false}],"returns":[],"examples":["GET /api/v1/replies/0/bookmark\n422\n{\n  \"errors\": [\n    {\n      \"message\": \"Missing parameter user_id\"\n    }\n  ]\n}","GET /api/v1/replies/0/bookmark\n404\n{\n  \"errors\": [\n    {\n      \"message\": \"Reply could not be found.\"\n    }\n  ]\n}","GET /api/v1/replies/1/bookmark\n404\n{\n  \"errors\": [\n    {\n      \"message\": \"User could not be found.\"\n    }\n  ]\n}","GET /api/v1/replies/1/bookmark\n403\n{\n  \"errors\": [\n    {\n      \"message\": \"You do not have permission to perform this action.\"\n    }\n  ]\n}","GET /api/v1/replies/1/bookmark\n404\n{\n  \"errors\": [\n    {\n      \"message\": \"Bookmark could not be found.\"\n    }\n  ]\n}","GET /api/v1/replies/1/bookmark\n404\n{\n  \"errors\": [\n    {\n      \"message\": \"Bookmark could not be found.\"\n    }\n  ]\n}","GET /api/v1/replies/1/bookmark\n200\n{\n  \"id\": 1,\n  \"user_id\": 1,\n  \"reply_id\": 1,\n  \"post_id\": 1,\n  \"name\": null,\n  \"type\": \"reply_bookmark\",\n  \"public\": true,\n  \"created_at\": \"2019-12-25T21:34:56.000Z\",\n  \"updated_at\": \"2019-12-25T21:34:56.000Z\"\n}","GET /api/v1/replies/1/bookmark\n403\n{\n  \"errors\": [\n    {\n      \"message\": \"You do not have permission to perform this action.\"\n    }\n  ]\n}","GET /api/v1/replies/1/bookmark\n200\n{\n  \"id\": 1,\n  \"user_id\": 1,\n  \"reply_id\": 1,\n  \"post_id\": 1,\n  \"name\": null,\n  \"type\": \"reply_bookmark\",\n  \"public\": false,\n  \"created_at\": \"2019-12-25T21:34:56.000Z\",\n  \"updated_at\": \"2019-12-25T21:34:56.000Z\"\n}","GET /api/v1/replies/1/bookmark\n200\n{\n  \"id\": 1,\n  \"user_id\": 1,\n  \"reply_id\": 1,\n  \"post_id\": 1,\n  \"name\": null,\n  \"type\": \"reply_bookmark\",\n  \"public\": false,\n  \"created_at\": \"2019-12-25T21:34:56.000Z\",\n  \"updated_at\": \"2019-12-25T21:34:56.000Z\"\n}","GET /api/v1/replies/1/bookmark\n404\n{\n  \"errors\": [\n    {\n      \"message\": \"Bookmark could not be found.\"\n    }\n  ]\n}"],"metadata":null,"see":[],"headers":[],"show":true}],"headers":[],"deprecated":false},"subcontinuities":{"doc_url":"/docs/1.0/subcontinuities","id":"subcontinuities","api_url":"/api/v1","name":"Subcontinuities","short_description":null,"full_description":"\n\u003cp\u003eViewing and editing subcontinuities\u003c/p\u003e\n","version":"1.0","formats":null,"metadata":null,"methods":[{"doc_url":"/docs/1.0/subcontinuities/show","name":"show","apis":[{"api_url":"/api/v1/subcontinuities/:id","http_method":"GET","short_description":"Load a single subcontinuity as a JSON resource","deprecated":null}],"formats":null,"full_description":"","errors":[{"code":404,"description":"Subcontinuity could not be found","metadata":null}],"params":[{"name":"id","full_name":"id","description":"\n\u003cp\u003eSubcontinuity ID\u003c/p\u003e\n","required":true,"allow_nil":false,"allow_blank":false,"validator":"Must be a number.","expected_type":"numeric","metadata":null,"show":true,"validations":[],"deprecated":false}],"returns":[],"examples":["GET /api/v1/subcontinuities/0\n404\n{\n  \"errors\": [\n    {\n      \"message\": \"Subcontinuity could not be found.\"\n    }\n  ]\n}","GET /api/v1/subcontinuities/1\n200\n{\n  \"id\": 1,\n  \"name\": \"TestSection00007\",\n  \"order\": 0,\n  \"board_id\": 1\n}"],"metadata":null,"see":[],"headers":[],"show":true},{"doc_url":"/docs/1.0/subcontinuities/reorder","name":"reorder","apis":[{"api_url":"/api/v1/subcontinuities/reorder","http_method":"POST","short_description":"Update the order of subcontinuities. This is an unstable feature, and may be moved or renamed; it should not be trusted.","deprecated":null}],"formats":null,"full_description":"","errors":[{"code":401,"description":"You must be logged in","metadata":null},{"code":403,"description":"Continuity is not editable by the user","metadata":null},{"code":404,"description":"Section IDs could not be found","metadata":null},{"code":422,"description":"Invalid parameters provided","metadata":null}],"params":[{"name":"ordered_section_ids","full_name":"ordered_section_ids","description":"","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be an array of any type","expected_type":"array","metadata":null,"show":true,"validations":[],"deprecated":false}],"returns":[],"examples":["POST /api/v1/subcontinuities/reorder\n{}\n401\n{\n  \"errors\": [\n    {\n      \"message\": \"You must be logged in to view that page.\"\n    }\n  ]\n}","POST /api/v1/subcontinuities/reorder\n{\n  \"ordered_section_ids\": [\n    \"3\",\n    \"1\",\n    \"4\",\n    \"2\"\n  ]\n}\n200\n{\n  \"section_ids\": [\n    3,\n    1,\n    4,\n    2\n  ]\n}","POST /api/v1/subcontinuities/reorder\n{\n  \"ordered_section_ids\": [\n    \"3\",\n    \"1\"\n  ]\n}\n200\n{\n  \"section_ids\": [\n    3,\n    1,\n    2,\n    4\n  ]\n}"],"metadata":null,"see":[],"headers":[],"show":true}],"headers":[],"deprecated":false},"tags":{"doc_url":"/docs/1.0/tags","id":"tags","api_url":"/api/v1","name":"Tags","short_description":null,"full_description":"\n\u003cp\u003eViewing tags\u003c/p\u003e\n","version":"1.0","formats":null,"metadata":null,"methods":[{"doc_url":"/docs/1.0/tags/index","name":"index","apis":[{"api_url":"/api/v1/tags","http_method":"GET","short_description":"Load all the tags of the specified type that match the given query, results ordered by name","deprecated":null}],"formats":null,"full_description":"","errors":[{"code":422,"description":"Invalid parameters provided","metadata":null}],"params":[{"name":"q","full_name":"q","description":"\n\u003cp\u003eQuery string\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a String","expected_type":"string","metadata":null,"show":true,"validations":[],"deprecated":false},{"name":"page","full_name":"page","description":"\n\u003cp\u003ePage in results (25 per page)\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a number.","expected_type":"numeric","metadata":null,"show":true,"validations":[],"deprecated":false},{"name":"t","full_name":"t","description":"\n\u003cp\u003eType of the tag to search\u003c/p\u003e\n","required":true,"allow_nil":false,"allow_blank":false,"validator":"Must be one of: \u003ccode\u003eSetting\u003c/code\u003e, \u003ccode\u003eLabel\u003c/code\u003e, \u003ccode\u003eContentWarning\u003c/code\u003e, \u003ccode\u003eGalleryGroup\u003c/code\u003e.","expected_type":"string","metadata":null,"show":true,"validations":[],"deprecated":false},{"name":"user_id","full_name":"user_id","description":"\n\u003cp\u003eFilter GalleryGroups to the current user\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a number.","expected_type":"numeric","metadata":null,"show":true,"validations":[],"deprecated":false},{"name":"tag_id","full_name":"tag_id","description":"\n\u003cp\u003eUsed for settings so we don’t show the current setting as a possible parent setting of itself\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a number.","expected_type":"numeric","metadata":null,"show":true,"validations":[],"deprecated":false}],"returns":[],"examples":["GET /api/v1/tags\n200\n{\n  \"results\": [\n    {\n      \"id\": 1,\n      \"text\": \"Tag00000\"\n    }\n  ]\n}","GET /api/v1/tags\n200\n{\n  \"results\": [\n    {\n      \"id\": 1,\n      \"text\": \"Tag00001\"\n    }\n  ]\n}","GET /api/v1/tags\n200\n{\n  \"results\": [\n    {\n      \"id\": 1,\n      \"text\": \"Tag00002\"\n    }\n  ]\n}","GET /api/v1/tags\n422\n{\n  \"errors\": [\n    {\n      \"message\": \"Invalid parameter 't' value 'b': Must be one of: Setting, Label, ContentWarning, GalleryGroup.\"\n    }\n  ]\n}"],"metadata":null,"see":[],"headers":[],"show":true},{"doc_url":"/docs/1.0/tags/show","name":"show","apis":[{"api_url":"/api/v1/tags/:id","http_method":"GET","short_description":"Load a single tag as a JSON resource","deprecated":null}],"formats":null,"full_description":"","errors":[{"code":404,"description":"Tag not found","metadata":null}],"params":[{"name":"id","full_name":"id","description":"\n\u003cp\u003eTag ID\u003c/p\u003e\n","required":true,"allow_nil":false,"allow_blank":false,"validator":"Must be a number.","expected_type":"numeric","metadata":null,"show":true,"validations":[],"deprecated":false}],"returns":[],"examples":["GET /api/v1/tags/1\n200\n{\n  \"id\": 1,\n  \"text\": \"Tag00003\",\n  \"gallery_ids\": [\n    1,\n    2\n  ]\n}","GET /api/v1/tags/99\n404\n{\n  \"errors\": [\n    {\n      \"message\": \"Tag could not be found\"\n    }\n  ]\n}"],"metadata":null,"see":[],"headers":[],"show":true}],"headers":[],"deprecated":false},"templates":{"doc_url":"/docs/1.0/templates","id":"templates","api_url":"/api/v1","name":"Templates","short_description":null,"full_description":"\n\u003cp\u003eViewing and searching templates\u003c/p\u003e\n","version":"1.0","formats":null,"metadata":null,"methods":[{"doc_url":"/docs/1.0/templates/index","name":"index","apis":[{"api_url":"/api/v1/templates","http_method":"GET","short_description":"Load all the templates that match the given query, results ordered by name","deprecated":null}],"formats":null,"full_description":"","errors":[{"code":422,"description":"Invalid parameters provided","metadata":null}],"params":[{"name":"q","full_name":"q","description":"\n\u003cp\u003eQuery string\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a String","expected_type":"string","metadata":null,"show":true,"validations":[],"deprecated":false},{"name":"page","full_name":"page","description":"\n\u003cp\u003ePage in results (25 per page)\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a number.","expected_type":"numeric","metadata":null,"show":true,"validations":[],"deprecated":false},{"name":"user_id","full_name":"user_id","description":"\n\u003cp\u003eID of the template user (optional)\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a number.","expected_type":"numeric","metadata":null,"show":true,"validations":[],"deprecated":false}],"returns":[],"examples":["GET /api/v1/templates\n200\n{\n  \"results\": [\n    {\n      \"id\": 1,\n      \"name\": \"baa\"\n    },\n    {\n      \"id\": 5,\n      \"name\": \"BAAc\"\n    }\n  ]\n}","GET /api/v1/templates\n422\n{\n  \"errors\": [\n    {\n      \"message\": \"Invalid parameter 'page' value 'b': Must be a number.\"\n    }\n  ]\n}","GET /api/v1/templates\n422\n{\n  \"errors\": [\n    {\n      \"message\": \"Invalid parameter 'user_id' value 'b': Must be a number.\"\n    }\n  ]\n}","GET /api/v1/templates\n422\n{\n  \"errors\": [\n    {\n      \"message\": \"User could not be found.\"\n    }\n  ]\n}","GET /api/v1/templates\n200\n{\n  \"results\": [\n    {\n      \"id\": 1,\n      \"name\": \"test template 00000\"\n    }\n  ]\n}"],"metadata":null,"see":[],"headers":[],"show":true}],"headers":[],"deprecated":false},"users":{"doc_url":"/docs/1.0/users","id":"users","api_url":"/api/v1","name":"Users","short_description":null,"full_description":"\n\u003cp\u003eViewing and searching users\u003c/p\u003e\n","version":"1.0","formats":null,"metadata":null,"methods":[{"doc_url":"/docs/1.0/users/index","name":"index","apis":[{"api_url":"/api/v1/users","http_method":"GET","short_description":"Load all the users that match the given query, results ordered by username","deprecated":null}],"formats":null,"full_description":"","errors":[{"code":422,"description":"Invalid parameters provided","metadata":null}],"params":[{"name":"q","full_name":"q","description":"\n\u003cp\u003eQuery string\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a String","expected_type":"string","metadata":null,"show":true,"validations":[],"deprecated":false},{"name":"match","full_name":"match","description":"\n\u003cp\u003eIf set to ‘exact’, requires exact username match on q instead of prefix match\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a String","expected_type":"string","metadata":null,"show":true,"validations":[],"deprecated":false},{"name":"page","full_name":"page","description":"\n\u003cp\u003ePage in results (25 per page)\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a number.","expected_type":"numeric","metadata":null,"show":true,"validations":[],"deprecated":false},{"name":"hide_unblockable","full_name":"hide_unblockable","description":"\n\u003cp\u003eIf set to ‘true’, elimiates users who cannot be blocked from the result\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be one of: \u003ccode\u003etrue\u003c/code\u003e, \u003ccode\u003efalse\u003c/code\u003e.","expected_type":"string","metadata":null,"show":true,"validations":[],"deprecated":false}],"returns":[],"examples":["GET /api/v1/users\n200\n{\n  \"results\": [\n    {\n      \"id\": 1,\n      \"username\": \"baa\",\n      \"moiety\": \"123456\",\n      \"moiety_name\": \"Test\",\n      \"created_at\": \"2019-12-25T21:34:56.000Z\"\n    },\n    {\n      \"id\": 5,\n      \"username\": \"BAAc\",\n      \"moiety\": null,\n      \"moiety_name\": null,\n      \"created_at\": \"2019-12-25T21:34:56.000Z\"\n    }\n  ]\n}","GET /api/v1/users\n422\n{\n  \"errors\": [\n    {\n      \"message\": \"Invalid parameter 'page' value 'b': Must be a number.\"\n    }\n  ]\n}","GET /api/v1/users\n200\n{\n  \"results\": [\n    {\n      \"id\": 2,\n      \"username\": \"ali\",\n      \"moiety\": null,\n      \"moiety_name\": null,\n      \"created_at\": \"2019-12-25T21:34:56.000Z\"\n    }\n  ]\n}"],"metadata":null,"see":[],"headers":[],"show":true},{"doc_url":"/docs/1.0/users/posts","name":"posts","apis":[{"api_url":"/api/v1/users/:id/posts","http_method":"GET","short_description":"Load all posts where the specified user is an author","deprecated":null}],"formats":null,"full_description":"","errors":[{"code":404,"description":"User not found","metadata":null}],"params":[{"name":"id","full_name":"id","description":"\n\u003cp\u003eUser ID\u003c/p\u003e\n","required":true,"allow_nil":false,"allow_blank":false,"validator":"Must be a number.","expected_type":"numeric","metadata":null,"show":true,"validations":[],"deprecated":false},{"name":"page","full_name":"page","description":"\n\u003cp\u003ePage in results (25 per page)\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a number.","expected_type":"numeric","metadata":null,"show":true,"validations":[],"deprecated":false}],"returns":[],"examples":["GET /api/v1/users/0/posts\n404\n{\n  \"errors\": [\n    {\n      \"message\": \"User could not be found.\"\n    }\n  ]\n}","GET /api/v1/users/1/posts\n200\n{\n  \"results\": [\n    {\n      \"id\": 1,\n      \"subject\": \"test subject 00080\",\n      \"description\": \"\",\n      \"created_at\": \"2019-12-25T21:34:56.000Z\",\n      \"tagged_at\": \"2019-12-25T21:34:56.000Z\",\n      \"status\": \"active\",\n      \"section_order\": 0,\n      \"board\": {\n        \"id\": 1,\n        \"name\": \"test board 00079\"\n      },\n      \"section\": {\n        \"id\": 1,\n        \"name\": \"TestSection00018\",\n        \"order\": 0\n      },\n      \"authors\": [\n        {\n          \"id\": 1,\n          \"username\": \"JohnDoe00275\"\n        }\n      ],\n      \"num_replies\": 0\n    }\n  ]\n}"],"metadata":null,"see":[],"headers":[],"show":true},{"doc_url":"/docs/1.0/users/bookmarks","name":"bookmarks","apis":[{"api_url":"/api/v1/users/:id/bookmarks","http_method":"GET","short_description":"Load all of a user's bookmarks, optionally limited to a single post","deprecated":null}],"formats":null,"full_description":"","errors":[{"code":404,"description":"User not found","metadata":null},{"code":422,"description":"Invalid parameters provided","metadata":null}],"params":[{"name":"id","full_name":"id","description":"\n\u003cp\u003eUser ID\u003c/p\u003e\n","required":true,"allow_nil":false,"allow_blank":false,"validator":"Must be a number.","expected_type":"numeric","metadata":null,"show":true,"validations":[],"deprecated":false},{"name":"post_id","full_name":"post_id","description":"\n\u003cp\u003ePost ID\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a number.","expected_type":"numeric","metadata":null,"show":true,"validations":[],"deprecated":false},{"name":"page","full_name":"page","description":"\n\u003cp\u003ePage in results (25 per page)\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a number.","expected_type":"numeric","metadata":null,"show":true,"validations":[],"deprecated":false}],"returns":[],"examples":["GET /api/v1/users/0/bookmarks\n404\n{\n  \"errors\": [\n    {\n      \"message\": \"User could not be found.\"\n    }\n  ]\n}","GET /api/v1/users/1/bookmarks\n200\n{\n  \"bookmarks\": []\n}","GET /api/v1/users/1/bookmarks\n200\n{\n  \"bookmarks\": [\n    {\n      \"id\": 1,\n      \"user_id\": 1,\n      \"reply_id\": 1,\n      \"post_id\": 1,\n      \"name\": null,\n      \"type\": \"reply_bookmark\",\n      \"public\": true,\n      \"created_at\": \"2019-12-25T21:34:56.000Z\",\n      \"updated_at\": \"2019-12-25T21:34:56.000Z\"\n    }\n  ]\n}","GET /api/v1/users/1/bookmarks\n200\n{\n  \"bookmarks\": [\n    {\n      \"id\": 1,\n      \"user_id\": 1,\n      \"reply_id\": 1,\n      \"post_id\": 1,\n      \"name\": null,\n      \"type\": \"reply_bookmark\",\n      \"public\": false,\n      \"created_at\": \"2019-12-25T21:34:56.000Z\",\n      \"updated_at\": \"2019-12-25T21:34:56.000Z\"\n    }\n  ]\n}","GET /api/v1/users/1/bookmarks\n200\n{\n  \"bookmarks\": [\n    {\n      \"id\": 1,\n      \"user_id\": 1,\n      \"reply_id\": 1,\n      \"post_id\": 1,\n      \"name\": null,\n      \"type\": \"reply_bookmark\",\n      \"public\": false,\n      \"created_at\": \"2019-12-25T21:34:56.000Z\",\n      \"updated_at\": \"2019-12-25T21:34:56.000Z\"\n    }\n  ]\n}","GET /api/v1/users/1/bookmarks\n200\n{\n  \"bookmarks\": [\n    {\n      \"id\": 2,\n      \"user_id\": 1,\n      \"reply_id\": 2,\n      \"post_id\": 2,\n      \"name\": null,\n      \"type\": \"reply_bookmark\",\n      \"public\": true,\n      \"created_at\": \"2019-12-25T21:34:56.000Z\",\n      \"updated_at\": \"2019-12-25T21:34:56.000Z\"\n    }\n  ]\n}","GET /api/v1/users/1/bookmarks\n200\n{\n  \"bookmarks\": [\n    {\n      \"id\": 2,\n      \"user_id\": 1,\n      \"reply_id\": 2,\n      \"post_id\": 2,\n      \"name\": null,\n      \"type\": \"reply_bookmark\",\n      \"public\": true,\n      \"created_at\": \"2019-12-25T21:34:56.000Z\",\n      \"updated_at\": \"2019-12-25T21:34:56.000Z\"\n    }\n  ]\n}","GET /api/v1/users/1/bookmarks\n200\n{\n  \"bookmarks\": [\n    {\n      \"id\": 3,\n      \"user_id\": 1,\n      \"reply_id\": 3,\n      \"post_id\": 3,\n      \"name\": null,\n      \"type\": \"reply_bookmark\",\n      \"public\": false,\n      \"created_at\": \"2019-12-25T21:34:56.000Z\",\n      \"updated_at\": \"2019-12-25T21:34:56.000Z\"\n    }\n  ]\n}","GET /api/v1/users/1/bookmarks\n200\n{\n  \"bookmarks\": [\n    {\n      \"id\": 1,\n      \"user_id\": 1,\n      \"reply_id\": 1,\n      \"post_id\": 1,\n      \"name\": null,\n      \"type\": \"reply_bookmark\",\n      \"public\": false,\n      \"created_at\": \"2019-12-25T21:34:56.000Z\",\n      \"updated_at\": \"2019-12-25T21:34:56.000Z\"\n    }\n  ]\n}"],"metadata":null,"see":[],"headers":[],"show":true}],"headers":[],"deprecated":false}}}}