---
title: Server API Reference
description: Kodit Server REST API Documentation
weight: 30
---

This file is automatically generated from the Kodit server OpenAPI specification.
You can view the live API documentation on the `/docs` endpoint of your Kodit server or
look at the [hosted version](https://kodit.helix.ml/docs).

{% if spec.info.description -%}
{{ spec.info.description }}
{% endif -%}
{% set version_split = spec.info.version.split('.') -%}
Current version: {{ version_split[0] }}.{{ version_split[1] }}.{{ version_split[2] }}

{% if (spec.servers | length) > 0 -%}
## Base URL

| URL | Description |
|-----|-------------|
{% for server in spec.servers -%}
| {{ server.url }} | {{ server.description }} |
{% endfor %}
{% endif -%}

{% if spec.components and spec.components.securitySchemes -%}
## Authentication

{% with root = spec.components -%}
{% include './_security_scheme.md.j2' -%}
{% endwith -%}
{% endif -%}

## APIs

{% for path, methods in spec.paths.items() -%}

{% for method, operation in methods.items() -%}
### {{ method.upper() }} {{ path }}

{% if operation.description and operation.description != operation.summary -%}
{{ operation.description }}
{% endif -%}

{% if operation.parameters %}

#### Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
{% for param in operation.parameters -%}
{% set param_obj = ref_to_schema(param) -%}
| {{ param_obj.name }} | {{ param_obj.schema.type }} | {{ param_obj.required }} | {{ param_obj.description }} |
{% endfor -%}
{% endif %}

{% if operation.requestBody -%}

#### Request Body

{% set content = operation.requestBody.content -%}
{% include './_content.md.j2' %}
{% endif -%}

#### Responses

{% for status_code, response in operation.responses.items() -%}

- {{ status_code }}{% if response.description %}: {{ response.description }}{% endif %}

{% set content = response.content -%}
{% include './_content.md.j2' %}

{%- endfor -%}
{% endfor -%}
{% endfor -%}

{% if spec.components and spec.components.schemas -%}

## Components

{% for schema_name, schema in spec.components.schemas.items() %}

### {{ schema_name }}

{% if schema.description %}
{{ schema.description }}
{% endif %}

{% include './_object_schema.md.j2' -%}
{% endfor -%}

{% endif -%}