# Introduction

## Authentication

{% hint style="info" %}
&#x20;If you don't have  the token required to access this API please make an app on our [dashboard](https://api.ksoft.si/). After one of our admins approves your app, you will see your token on top of the dashboard page. Please note that access to the API is provided only if you join and stay in the official Discord guild, requests to overcome this must be sent to <support@ksoft.si> or raise a support request on <https://support.ksoft.si/>.
{% endhint %}

When calling our API, you must provide a HTTP-Header with name `Authorization` and value `Bearer TOKEN` where you replace 'TOKEN' with your token (you can find it in the dashboard).

This is an example token  `81b1f1d4411405cbb27e6a950cf07be3176ea2fe` so your Authorization header should look like this: `Bearer 81b1f1d4411405cbb27e6a950cf07be3176ea2fe`

## Rate limit

While we don't use strict rate limiting we still have a rate limit system implemented to  prevent abuse. All requests are subject to per user, 5 requests per second rate limit with allowed bursts up to 2 requests within 100 milliseconds. Requests over the limit will be stored and placed in the lower priority queue and will be processed after the next worker becomes available. Sustained requests that exceed global rate limit will be denied with status code 429.

## CDN and Content Storage

{% hint style="info" %}
We impose strict HTTPS connections on all of our servers.
{% endhint %}

| URL                                                       | Content                        |
| --------------------------------------------------------- | ------------------------------ |
| <https://cdn.ksoft.si/>                                   | Static content and icons       |
| [https://\*.storage.ksoft.si/](https://storage.ksoft.si/) | Dynamic content and all images |
| <https://cdn-proxy.ksoft.si/>                             | SSL Caching proxy              |
| <https://i.ksoft.si/>                                     | User content                   |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.ksoft.si/api/master.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
