> For the complete documentation index, see [llms.txt](https://docs.skovik.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.skovik.com/for-it-and-developers/public-api.md).

# Public API

Our public API makes it possible to integrate virtually any external system with Skovik. The API specification and guides for common API integrations lives on a separate site linked below.&#x20;

The rest of this document focuses on aspects of the API that is managed via the UI, for example managing API keys and API versioning.

{% embed url="<https://developer.skovik.com/>" %}

### API versioning

Our API has numbered versioning as the base layer, represented in the URL path `https://api.skovik.com/v1/`. We only have a single version currently and no plans on introducing additional versions.

As a layer below the numbered version, we use a date-based versioning scheme in the format `YYYY-MM-DD`. When a new version is released, you may continue using the previous version for 2 years.

Each new version release indicates breaking changes that are not backwards compatible and may affect existing integrations.

The API version is locked in for the whole company, and must be updated via the UI. Once upgraded, it's not possible to downgrade. However, for testing a new version it's also possible to selectively upgrade individual requests.

See the API docs for more details.

### API scopes

Each API key has one or more scopes associated with it. Scopes define which API resources the key can access, and gives you stricter control over what each API key can be used for. Scopes can be modified at any time.

We strongly encourage enabling only the scopes an API integration need for each key, limiting the blast radius.

For each scope, there are three levels of permission: none, read, and write.

* None means the key cannot access that resource.
* Read means the key can read the resource, but not write to it.
* Write means the key can both read and write to the resource.

You can see which scope is required for each endpoint in the API reference.
