NAV Navbar
shell javascript

Introduction

Danbulant API is a wrapper around all of APIs available at danbulant.eu. Most of endpoints currently don't require developer key, but for future use, we suggest still getting one. You won't do anything bad if you try to reach a free endpoint with developer key. You can contact us here on our discord server to get information about getting one.

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:

 {
     "code": 200,
     "message": "Success, nothing to do",
     "type": "generic"
 }

generic | *

A response containing only the default 3 fields.





Example response:

 {
     "code": 200,
     "message": "Success, see types",
     "type": "neko_list",
     "types": [ "..." ]
 }

neko_list | Nekos

List of available neko endpoints.






Example response:

 {
     "code": 404,
     "message": "ICe API in development, see later",
     "type": "ice_response",
     "data": {}
 }

ice_response | Ice

A generic bot response.






Example response:

{
    "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:

{
  "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:

{
  "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:

{
  "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:

{
  "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:

{
  "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.






Libraries

JS

Currently unavailable, but planned. This library simplifies usage. It uses got under the hood for simplified request handling, and always returns promise. Responses are just parsed JSON (as of now, but classes may be implemented in future).

Endpoints

Bakalari

Example request

curl "https://api.danbulant.eu/v1/bakalari/rozvrh/user/domain.tld/SecretPassword123"

Tries getting the info from Bakalari API.