Server API Reference

Server API Reference

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.

Code understanding platform with hybrid search and LLM-powered enrichments Current version: 1.0.

Base URL

URLDescription
/api/v1

Authentication

Security Schemes

NameTypeDescriptionSchemeBearer Format
APIKeyAuthapiKey

APIs

GET /enrichments

List enrichments with optional filters

Parameters

NameTypeRequiredDescription
enrichment_typestringFilter by enrichment type
enrichment_subtypestringFilter by enrichment subtype
pageintegerPage number (default: 1)
page_sizeintegerResults per page (default: 20, max: 100)

Responses

  • 200: OK

dto.EnrichmentJSONAPIListResponse

  • 500: Internal Server Error

middleware.JSONAPIErrorResponse

DELETE /enrichments/{id}

Delete an enrichment by ID

Parameters

NameTypeRequiredDescription
idintegerTrueEnrichment ID

Responses

  • 204: No Content

  • 404: Not Found

middleware.JSONAPIErrorResponse

  • 500: Internal Server Error

middleware.JSONAPIErrorResponse

GET /enrichments/{id}

Get an enrichment by ID

Parameters

NameTypeRequiredDescription
idintegerTrueEnrichment ID

Responses

  • 200: OK

dto.EnrichmentJSONAPIResponse

  • 404: Not Found

middleware.JSONAPIErrorResponse

  • 500: Internal Server Error

middleware.JSONAPIErrorResponse

PATCH /enrichments/{id}

Update an enrichment’s content

Parameters

NameTypeRequiredDescription
idintegerTrueEnrichment ID

Request Body

dto.EnrichmentUpdateRequest

Responses

  • 200: OK

dto.EnrichmentJSONAPIResponse

  • 404: Not Found

middleware.JSONAPIErrorResponse

  • 500: Internal Server Error

middleware.JSONAPIErrorResponse

GET /queue

List tasks in the queue

Parameters

NameTypeRequiredDescription
pageintegerPage number (default: 1)
page_sizeintegerResults per page (default: 20, max: 100)
task_typestringFilter by task type

Responses

  • 200: OK

dto.TaskListResponse

  • 500: Internal Server Error

middleware.JSONAPIErrorResponse

GET /queue/{task_id}

Get a task by ID

Parameters

NameTypeRequiredDescription
task_idintegerTrueTask ID

Responses

  • 200: OK

dto.TaskResponse

  • 404: Not Found

middleware.JSONAPIErrorResponse

  • 500: Internal Server Error

middleware.JSONAPIErrorResponse

GET /repositories

Get all tracked Git repositories

Parameters

NameTypeRequiredDescription
pageintegerPage number (default: 1)
page_sizeintegerResults per page (default: 20, max: 100)

Responses

  • 200: OK

dto.RepositoryListResponse

  • 500: Internal Server Error

middleware.JSONAPIErrorResponse

POST /repositories

Add a new Git repository to track

Request Body

dto.RepositoryCreateRequest

Responses

  • 200: Repository already exists

dto.RepositoryResponse

  • 201: Repository created

dto.RepositoryResponse

  • 400: Bad Request

middleware.JSONAPIErrorResponse

  • 500: Internal Server Error

middleware.JSONAPIErrorResponse

DELETE /repositories/{id}

Delete a repository by ID

Parameters

NameTypeRequiredDescription
idintegerTrueRepository ID

Responses

  • 204: No Content

  • 404: Not Found

middleware.JSONAPIErrorResponse

  • 500: Internal Server Error

middleware.JSONAPIErrorResponse

GET /repositories/{id}

Get a repository by ID

Parameters

NameTypeRequiredDescription
idintegerTrueRepository ID

Responses

  • 200: OK

dto.RepositoryDetailsResponse

  • 404: Not Found

middleware.JSONAPIErrorResponse

  • 500: Internal Server Error

middleware.JSONAPIErrorResponse

GET /repositories/{id}/blob/{blob_name}/{path}

Returns raw file content from a Git repository at a given blob reference (commit SHA, tag, or branch)

Parameters

NameTypeRequiredDescription
idintegerTrueRepository ID
blob_namestringTrueCommit SHA, tag name, or branch name
pathstringTrueFile path within the repository
linesstringLine ranges to extract (e.g. L17-L26,L45,L55-L90)
line_numbersbooleanPrefix each line with its 1-based line number

Responses

  • 200: OK

  • 400: Bad Request

middleware.JSONAPIErrorResponse

middleware.JSONAPIErrorResponse

  • 404: Not Found

middleware.JSONAPIErrorResponse

middleware.JSONAPIErrorResponse

  • 500: Internal Server Error

middleware.JSONAPIErrorResponse

middleware.JSONAPIErrorResponse

GET /repositories/{id}/commits

List commits for a repository

Parameters

NameTypeRequiredDescription
idintegerTrueRepository ID
pageintegerPage number (default: 1)
page_sizeintegerResults per page (default: 20, max: 100)

Responses

  • 200: OK

dto.CommitJSONAPIListResponse

  • 404: Not Found

middleware.JSONAPIErrorResponse

  • 500: Internal Server Error

middleware.JSONAPIErrorResponse

GET /repositories/{id}/commits/{commit_sha}

Get a commit by SHA

Parameters

NameTypeRequiredDescription
idintegerTrueRepository ID
commit_shastringTrueCommit SHA

Responses

  • 200: OK

dto.CommitJSONAPIResponse

  • 404: Not Found

middleware.JSONAPIErrorResponse

  • 500: Internal Server Error

middleware.JSONAPIErrorResponse

GET /repositories/{id}/commits/{commit_sha}/embeddings

This endpoint has been removed. Embeddings are an internal detail of snippets and enrichments.

Parameters

NameTypeRequiredDescription
idintegerTrueRepository ID
commit_shastringTrueCommit SHA

Responses

  • 410: Gone

middleware.JSONAPIErrorResponse

DELETE /repositories/{id}/commits/{commit_sha}/enrichments

Delete all enrichments for a commit

Parameters

NameTypeRequiredDescription
idintegerTrueRepository ID
commit_shastringTrueCommit SHA

Responses

  • 204: No Content

  • 404: Not Found

middleware.JSONAPIErrorResponse

  • 500: Internal Server Error

middleware.JSONAPIErrorResponse

GET /repositories/{id}/commits/{commit_sha}/enrichments

List enrichments for a commit

Parameters

NameTypeRequiredDescription
idintegerTrueRepository ID
commit_shastringTrueCommit SHA
enrichment_typestringFilter by enrichment type
enrichment_subtypestringFilter by enrichment subtype
pageintegerPage number (default: 1)
page_sizeintegerResults per page (default: 20, max: 100)

Responses

  • 200: OK

dto.EnrichmentJSONAPIListResponse

  • 404: Not Found

middleware.JSONAPIErrorResponse

  • 500: Internal Server Error

middleware.JSONAPIErrorResponse

DELETE /repositories/{id}/commits/{commit_sha}/enrichments/{enrichment_id}

Delete a specific enrichment from a commit

Parameters

NameTypeRequiredDescription
idintegerTrueRepository ID
commit_shastringTrueCommit SHA
enrichment_idintegerTrueEnrichment ID

Responses

  • 204: No Content

  • 404: Not Found

middleware.JSONAPIErrorResponse

  • 500: Internal Server Error

middleware.JSONAPIErrorResponse

GET /repositories/{id}/commits/{commit_sha}/enrichments/{enrichment_id}

Get an enrichment by ID within commit context

Parameters

NameTypeRequiredDescription
idintegerTrueRepository ID
commit_shastringTrueCommit SHA
enrichment_idintegerTrueEnrichment ID

Responses

  • 200: OK

dto.EnrichmentJSONAPIResponse

  • 404: Not Found

middleware.JSONAPIErrorResponse

  • 500: Internal Server Error

middleware.JSONAPIErrorResponse

GET /repositories/{id}/commits/{commit_sha}/files

List files for a commit

Parameters

NameTypeRequiredDescription
idintegerTrueRepository ID
commit_shastringTrueCommit SHA
pageintegerPage number (default: 1)
page_sizeintegerResults per page (default: 20, max: 100)

Responses

  • 200: OK

dto.FileJSONAPIListResponse

  • 404: Not Found

middleware.JSONAPIErrorResponse

  • 500: Internal Server Error

middleware.JSONAPIErrorResponse

GET /repositories/{id}/commits/{commit_sha}/files/{blob_sha}

Get a file by blob SHA

Parameters

NameTypeRequiredDescription
idintegerTrueRepository ID
commit_shastringTrueCommit SHA
blob_shastringTrueBlob SHA

Responses

  • 200: OK

dto.FileJSONAPIResponse

  • 404: Not Found

middleware.JSONAPIErrorResponse

  • 500: Internal Server Error

middleware.JSONAPIErrorResponse

POST /repositories/{id}/commits/{commit_sha}/rescan

Trigger a rescan of a specific commit

Parameters

NameTypeRequiredDescription
idintegerTrueRepository ID
commit_shastringTrueCommit SHA

Responses

  • 202: Accepted

  • 404: Not Found

middleware.JSONAPIErrorResponse

  • 500: Internal Server Error

middleware.JSONAPIErrorResponse

GET /repositories/{id}/commits/{commit_sha}/snippets

List code snippets for a commit (backed by enrichments)

Parameters

NameTypeRequiredDescription
idintegerTrueRepository ID
commit_shastringTrueCommit SHA
pageintegerPage number (default: 1)
page_sizeintegerResults per page (default: 20, max: 100)

Responses

  • 200: OK

dto.SnippetListResponse

  • 401: Unauthorized

middleware.JSONAPIErrorResponse

  • 404: Not Found

middleware.JSONAPIErrorResponse

  • 500: Internal Server Error

middleware.JSONAPIErrorResponse

GET /repositories/{id}/enrichments

List recent enrichments across commits for a repository

Parameters

NameTypeRequiredDescription
idintegerTrueRepository ID
enrichment_typestringFilter by enrichment type
max_commits_to_checkintegerMax commits to check (default: 100)
pageintegerPage number (default: 1)
page_sizeintegerResults per page (default: 20, max: 100)

Responses

  • 200: OK

dto.EnrichmentJSONAPIListResponse

  • 404: Not Found

middleware.JSONAPIErrorResponse

  • 500: Internal Server Error

middleware.JSONAPIErrorResponse

GET /repositories/{id}/status

Get indexing task status for a repository

Parameters

NameTypeRequiredDescription
idintegerTrueRepository ID

Responses

  • 200: OK

dto.TaskStatusListResponse

  • 404: Not Found

middleware.JSONAPIErrorResponse

  • 500: Internal Server Error

middleware.JSONAPIErrorResponse

GET /repositories/{id}/status/summary

Get aggregated indexing status summary for a repository

Parameters

NameTypeRequiredDescription
idintegerTrueRepository ID

Responses

  • 200: OK

dto.RepositoryStatusSummaryResponse

  • 404: Not Found

middleware.JSONAPIErrorResponse

  • 500: Internal Server Error

middleware.JSONAPIErrorResponse

POST /repositories/{id}/sync

Trigger a sync (git fetch + branch scan + commit indexing) for a repository

Parameters

NameTypeRequiredDescription
idintegerTrueRepository ID

Responses

  • 202: Accepted

  • 404: Not Found

middleware.JSONAPIErrorResponse

  • 500: Internal Server Error

middleware.JSONAPIErrorResponse

GET /repositories/{id}/tags

List tags for a repository

Parameters

NameTypeRequiredDescription
idintegerTrueRepository ID
pageintegerPage number (default: 1)
page_sizeintegerResults per page (default: 20, max: 100)

Responses

  • 200: OK

dto.TagJSONAPIListResponse

  • 404: Not Found

middleware.JSONAPIErrorResponse

  • 500: Internal Server Error

middleware.JSONAPIErrorResponse

GET /repositories/{id}/tags/{tag_name}

Get a tag by name

Parameters

NameTypeRequiredDescription
idintegerTrueRepository ID
tag_namestringTrueTag name

Responses

  • 200: OK

dto.TagJSONAPIResponse

  • 404: Not Found

middleware.JSONAPIErrorResponse

  • 500: Internal Server Error

middleware.JSONAPIErrorResponse

GET /repositories/{id}/tracking-config

Get current tracking configuration for a repository

Parameters

NameTypeRequiredDescription
idintegerTrueRepository ID

Responses

  • 200: OK

dto.TrackingConfigResponse

  • 404: Not Found

middleware.JSONAPIErrorResponse

  • 500: Internal Server Error

middleware.JSONAPIErrorResponse

PUT /repositories/{id}/tracking-config

Update tracking configuration for a repository

Parameters

NameTypeRequiredDescription
idintegerTrueRepository ID

Request Body

dto.TrackingConfigUpdateRequest

Responses

  • 200: OK

dto.TrackingConfigResponse

  • 404: Not Found

middleware.JSONAPIErrorResponse

  • 500: Internal Server Error

middleware.JSONAPIErrorResponse

GET /repositories/{id}/wiki

Get the wiki navigation tree (titles and paths, no content)

Parameters

NameTypeRequiredDescription
idintegerTrueRepository ID

Responses

  • 200: OK

dto.WikiTreeResponse

  • 404: Not Found

middleware.JSONAPIErrorResponse

  • 500: Internal Server Error

middleware.JSONAPIErrorResponse

POST /repositories/{id}/wiki/rescan

Delete the existing wiki and regenerate it from scratch

Parameters

NameTypeRequiredDescription
idintegerTrueRepository ID

Responses

  • 202: Accepted

  • 404: Not Found

middleware.JSONAPIErrorResponse

  • 500: Internal Server Error

middleware.JSONAPIErrorResponse

GET /repositories/{id}/wiki/{path}

Get a wiki page by hierarchical path as raw markdown

Parameters

NameTypeRequiredDescription
idintegerTrueRepository ID
pathstringTrueWiki page path (e.g. architecture/database-layer.md)

Responses

  • 200: OK

string

  • 404: Not Found

middleware.JSONAPIErrorResponse

  • 500: Internal Server Error

middleware.JSONAPIErrorResponse

POST /search

Hybrid search across code snippets and enrichments

Request Body

dto.SearchRequest

Responses

  • 200: OK

dto.SearchResponse

  • 400: Bad Request

middleware.JSONAPIErrorResponse

  • 500: Internal Server Error

middleware.JSONAPIErrorResponse

GET /search/grep

Search file contents in a repository using git grep with regex patterns

Parameters

NameTypeRequiredDescription
repository_idintegerTrueRepository ID
patternstringTrueRegex pattern to search for
globstringFile path filter (e.g. .go, src/**/.ts)
limitintegerMaximum number of file results (default 10, max 200)

Responses

  • 200: OK

dto.GrepResponse

  • 400: Bad Request

middleware.JSONAPIErrorResponse

  • 404: Not Found

middleware.JSONAPIErrorResponse

  • 500: Internal Server Error

middleware.JSONAPIErrorResponse

GET /search/keyword

Search code snippets using BM25 keyword matching

Parameters

NameTypeRequiredDescription
keywordsstringTrueSearch keywords
languagestringLanguage filter (e.g. py, go)
repository_idintegerRepository ID filter
limitintegerMaximum results (default 10)

Responses

  • 200: OK

dto.SearchResponse

  • 400: Bad Request

middleware.JSONAPIErrorResponse

  • 500: Internal Server Error

middleware.JSONAPIErrorResponse

GET /search/ls

Returns files from a repository working copy matching a glob pattern, with file:// URIs

Parameters

NameTypeRequiredDescription
repository_idintegerTrueRepository ID
patternstringTrueGlob/pathspec pattern (e.g. **/.go, src/.py)
pageintegerPage number (default: 1)
page_sizeintegerResults per page (default: 20, max: 100)

Responses

  • 200: OK

dto.LsResponse

  • 400: Bad Request

middleware.JSONAPIErrorResponse

  • 404: Not Found

middleware.JSONAPIErrorResponse

  • 500: Internal Server Error

middleware.JSONAPIErrorResponse

GET /search/semantic

Search code snippets using semantic similarity

Parameters

NameTypeRequiredDescription
querystringTrueNatural language search query
languagestringLanguage filter (e.g. py, go)
repository_idintegerRepository ID filter
limitintegerMaximum results (default 10)

Responses

  • 200: OK

dto.SearchResponse

  • 400: Bad Request

middleware.JSONAPIErrorResponse

  • 500: Internal Server Error

middleware.JSONAPIErrorResponse

Components

dto.CommitAttributes

FieldTypeDescription
authorstring
commit_shastring
datestring
messagestring
parent_commit_shastring

dto.CommitData

FieldTypeDescription
attributes
idstring
typestring

dto.CommitJSONAPIListResponse

FieldTypeDescription
dataarray
links
meta

dto.CommitJSONAPIResponse

FieldTypeDescription
data

dto.EnrichmentAttributes

FieldTypeDescription
contentstring
created_atstring
end_lineinteger
start_lineinteger
subtypestring
typestring
updated_atstring

dto.EnrichmentData

FieldTypeDescription
attributes
idstring
typestring

dto.EnrichmentJSONAPIListResponse

FieldTypeDescription
dataarray
links
meta

dto.EnrichmentJSONAPIResponse

FieldTypeDescription
data

dto.EnrichmentSchema

FieldTypeDescription
contentstring
typestring

dto.EnrichmentUpdateAttributes

FieldTypeDescription
contentstring

dto.EnrichmentUpdateData

FieldTypeDescription
attributes
typestring

dto.EnrichmentUpdateRequest

FieldTypeDescription
data

dto.FileAttributes

FieldTypeDescription
blob_shastring
extensionstring
mime_typestring
pathstring
sizeinteger

dto.FileData

FieldTypeDescription
attributes
idstring
typestring

dto.FileJSONAPIListResponse

FieldTypeDescription
dataarray
links
meta

dto.FileJSONAPIResponse

FieldTypeDescription
data

dto.GrepFileLinks

FieldTypeDescription
filestring

dto.GrepFileSchema

FieldTypeDescription
languagestring
links
matchesarray
pathstring

dto.GrepMatchSchema

FieldTypeDescription
contentstring
lineinteger

dto.GrepResponse

FieldTypeDescription
dataarray

dto.LsFileAttributes

FieldTypeDescription
pathstring
sizeinteger

dto.LsFileData

FieldTypeDescription
attributes
idstring
links
typestring

dto.LsFileLinks

FieldTypeDescription
selfstring

dto.LsResponse

FieldTypeDescription
dataarray
links
meta

dto.RepositoryAttributes

FieldTypeDescription
cloned_pathstring
created_atstring
last_scanned_atstring
num_branchesinteger
num_commitsinteger
num_tagsinteger
remote_uristring
tracking_branchstring
updated_atstring

dto.RepositoryBranchData

FieldTypeDescription
commit_countinteger
is_defaultboolean
namestring

dto.RepositoryCommitData

FieldTypeDescription
authorstring
messagestring
shastring
timestampstring

dto.RepositoryCreateAttributes

FieldTypeDescription
remote_uristring

dto.RepositoryCreateData

FieldTypeDescription
attributes
typestring

dto.RepositoryCreateRequest

FieldTypeDescription
data

dto.RepositoryData

FieldTypeDescription
attributes
idstring
typestring

dto.RepositoryDetailsResponse

FieldTypeDescription
branchesarray
data
recent_commitsarray

dto.RepositoryListResponse

FieldTypeDescription
dataarray
links
meta

dto.RepositoryResponse

FieldTypeDescription
data

dto.RepositoryStatusSummaryAttributes

FieldTypeDescription
messagestring
statusstring
updated_atstring

dto.RepositoryStatusSummaryData

FieldTypeDescription
attributes
idstring
typestring

dto.RepositoryStatusSummaryResponse

FieldTypeDescription
data

dto.SearchAttributes

FieldTypeDescription
codestring
filters
keywordsarray
limitinteger
textstring

dto.SearchData

FieldTypeDescription
attributes
typestring

dto.SearchFilters

FieldTypeDescription
authorsarray
commit_shaarray
end_datestring
enrichment_subtypesarray
enrichment_typesarray
file_patternsarray
languagesarray
sourcesarray
start_datestring

dto.SearchRequest

FieldTypeDescription
data

dto.SearchResponse

FieldTypeDescription
dataarray

dto.SnippetAttributes

FieldTypeDescription
content
created_atstring
enrichmentsarray
original_scoresarray
updated_atstring

dto.SnippetContentSchema

FieldTypeDescription
end_lineinteger
languagestring
start_lineinteger
valuestring

dto.SnippetData

FieldTypeDescription
attributes
idstring
links
typestring

dto.SnippetLinks

FieldTypeDescription
commitstring
filestring
repositorystring

dto.SnippetListResponse

FieldTypeDescription
dataarray
links
meta

dto.TagAttributes

FieldTypeDescription
is_version_tagboolean
namestring
target_commit_shastring

dto.TagData

FieldTypeDescription
attributes
idstring
typestring

dto.TagJSONAPIListResponse

FieldTypeDescription
dataarray
links
meta

dto.TagJSONAPIResponse

FieldTypeDescription
data

dto.TaskAttributes

FieldTypeDescription
created_atstring
payload
priorityinteger
typestring
updated_atstring

dto.TaskData

FieldTypeDescription
attributes
idstring
typestring

dto.TaskListResponse

FieldTypeDescription
dataarray
links
meta

dto.TaskResponse

FieldTypeDescription
data

dto.TaskStatusAttributes

FieldTypeDescription
created_atstring
currentinteger
errorstring
messagestring
progressnumber
statestring
stepstring
totalinteger
updated_atstring

dto.TaskStatusData

FieldTypeDescription
attributes
idstring
typestring

dto.TaskStatusListResponse

FieldTypeDescription
dataarray
links
meta

dto.TrackingConfigAttributes

FieldTypeDescription
mode
valuestring

dto.TrackingConfigData

FieldTypeDescription
attributes
typestring

dto.TrackingConfigResponse

FieldTypeDescription
data

dto.TrackingConfigUpdateAttributes

FieldTypeDescription
mode
valuestring

dto.TrackingConfigUpdateData

FieldTypeDescription
attributes
typestring

dto.TrackingConfigUpdateRequest

FieldTypeDescription
data

dto.TrackingMode

dto.WikiTreeNode

FieldTypeDescription
childrenarray
pathstring
slugstring
titlestring

dto.WikiTreeResponse

FieldTypeDescription
dataarray

jsonapi.Links

FieldTypeDescription
firststring
laststring
nextstring
prevstring
selfstring

jsonapi.Meta

middleware.JSONAPIError

FieldTypeDescription
detailstring
idstring
statusstring
titlestring

middleware.JSONAPIErrorResponse

FieldTypeDescription
errorsarray