# Response format ## Fields Response is currently always in JSON (but we might support XML and JSONP if there will be someone who might use it). Response always has these fields: | Field | Purpose | example content | |---------|------------------------------------------|----------------------| | code | Contains the HTTP code | `200` | | message | A string containing sample message. | `Success, see type.` | | type | A string with the type of returned data | `ping_response` | Response may have additional fields, such as `url` or `data`. These depends on the type. ## Types Types that start with `e_` are *always* errors. The following type can be retrieved: ### `e_invalid_key` | Key-only endpoints The key given is invalid and cannot be used. ### `e_missing_query` | * Request lacks GET query string, which is required by the endpoint. ### `e_invalid_query` | * Request has invalid fields/missing fields/invalid values. See `message` in the response for more information. ### `e_empty_response` | * Request succeeded, but the response provided by the endpoint was empty. ### `e_cannot_get` | * Request failed while trying to fetch external data. ### `e_generic` | * Unknown error. ### `e_ester_error` | Ester An error occured inside Ester API. See `data` field (contains response from Ester API). ### `e_bakalari_missing_school` | Bakalari Error occured during fetching data from the given domain, which usually means the schoold doesn't exists or has private API (currently no known school has private API). ### `e_bakalari_missing_user` | Bakalari Request to school succeeded, but the user doesn't exists. ### `e_missing_subreddit` | Reddit Couldn't fetch subreddit. Subreddit may be NSFW (which are currently unsupported) or private or just simply doesn't exists. ### `e_reddit_failed` | Reddit Reddit returned invalid response and/or error response. ### `e_neko_type` | Nekos Unknown neko type. ----- > Example response: ```json { "code": 200, "message": "Success, nothing to do", "type": "generic" } ``` ### `generic` | * A response containing only the default 3 fields.



> Example response: ```json { "code": 200, "message": "Success, see types", "type": "neko_list", "types": [ "..." ] } ``` ### `neko_list` | Nekos List of available `neko` endpoints.




> Example response: ```json { "code": 404, "message": "ICe API in development, see later", "type": "ice_response", "data": {} } ``` ### `ice_response` | Ice A generic bot response.




> Example response: ```json { "code": 200, "type": "ice_http_code_response", "http": { "standart": true, "title": "OK", "description": "Standard response for successful HTTP requests. The actual response will depend on the request method used. In a GET request, the response will contain an entity corresponding to the requested resource. In a POST request, the response will contain an entity describing or containing the result of the action.", "choices": [] }, "source": "Wikipedia" } ``` ### `ice_http_code_response` | Http A response containing information about given http code.









> Example response: ```json { "code": 400, "message": "Missing parameter code. Use it as /http/:code", "type": "e_ice_http_missing_code" } ``` ### `ice_http_code_list` | Ice A *planned* response to list all available HTTP codes.



### `pushr_response` | Pushr A response from Pushr API (danbulant.eu API acts as pass-through for this). > Example response: ```json { "code": 200, "message": "Success, see reddit", "type": "reddit_response", "reddit": { "title": "I really ininterested", "image": "https://imgur.com/tLBzS1h.jpg", "author": "nickjayr", "authorIcon": "https://www.redditstatic.com/avatars/avatar_default_17_0DD3BB.png", "link": "https://reddit.com/r/memes/comments/ey2hkb/i_really_ininterested/" } } ``` ### `redddit_response` | Reddit Response from reddit API containing `reddit` object.











> Example response: ```json { "code": 200, "message": "Success, see response", "path": "/", "type": "ester_response", "data": { "code": 200, "message": "Čau!", "user": { "name": "Daniel", "id": "1" }, "text": "Čau!" } } ``` ### `ester_response` | Ester A generic response from Ester API.














> Example response: ```json { "code": 200, "message": "Success", "type": "bakalari_response", "data": { "verze": "17/18.20191219", "jmeno": "[NAME HIDDEN]", "typ": "R", "strtyp": "rodič", "skola": "[SCHOOL REDACTED]", "typskoly": "", "trida": "0.A", "rocnik": -1, "moduly": "*znamky*predvidac*rozvrh*predmety*vyuka*ukoly*akce*suplovani*absence*pololetni*prijate*odeslane*nastenka*setread*setok*komsend*komenslisty*komdel*", "params": { "newmarkdays": 1 }, "result": 1 } } ``` ### `bakalari_response` | Bakalari Response from the `bakalari` API. Format depends on the bakalari response (e.g., try the desired info in browser to see, as danbulant.eu only converts xml to json).




















> Example response: ```json { "code": 200, "message": "Success, see url", "type": "image", "url": "https://i.imgur.com/wVUpmao.jpg" } ``` ### `image` | * Generic image response. The actual image is on adress inside the provided `url` field.