# Functions
CommitChanges godoc @Summary Commit DNS changes @Tags domain @Produce json @Accept json @Param domain path string true "Domain" @Success 200 @Failure 400 {object} apiModels.ErrorResponse @Failure 401 {object} apiModels.ErrorResponse @Failure 404 {object} apiModels.ErrorResponse @Failure 409 {object} apiModels.ErrorResponse @Failure 429 {object} apiModels.ErrorResponse @Failure 500 {object} apiModels.ErrorResponse @Router /v1/domain/{domain}/commit [post].
CreateRecord godoc @Summary Create a new record @Tags domain @Produce json @Accept json @Param request body apiModels.SaveRowRequest true "Request body" @Param domain path string true "Domain" @Success 201 @Failure 400 {object} apiModels.ErrorResponse @Failure 401 {object} apiModels.ErrorResponse @Failure 404 {object} apiModels.ErrorResponse @Failure 409 {object} apiModels.ErrorResponse @Failure 429 {object} apiModels.ErrorResponse @Failure 500 {object} apiModels.ErrorResponse @Router /v1/domain/{domain}/record [post].
DeleteRecord godoc @Summary Delete an existing record @Tags domain @Produce json @Accept json @Param request body apiModels.DeleteRowRequest true "Request body" @Param domain path string true "Domain" @Success 200 @Failure 400 {object} apiModels.ErrorResponse @Failure 401 {object} apiModels.ErrorResponse @Failure 404 {object} apiModels.ErrorResponse @Failure 409 {object} apiModels.ErrorResponse @Failure 429 {object} apiModels.ErrorResponse @Failure 500 {object} apiModels.ErrorResponse @Router /v1/domain/{domain}/record [delete].
DeleteRecord godoc @Summary Delete an existing record @Tags domain @Produce json @Accept json @Param request body apiModels.DeleteRowRequestV2 true "Request body" @Param domain path string true "Domain" @Param id path int true "Record ID" @Success 204 @Failure 400 {object} apiModels.ErrorResponse @Failure 401 {object} apiModels.ErrorResponse @Failure 404 {object} apiModels.ErrorResponse @Failure 500 {object} apiModels.ErrorResponse @Router /v2/domain/{domain}/record/{id} [delete].
GetDomainInfo godoc @Summary Get all DNS records for a domain @Tags domain @Produce json @Param domain path string true "Domain" @Success 200 {object} []models.Record @Failure 400 {object} apiModels.ErrorResponse @Failure 401 {object} apiModels.ErrorResponse @Failure 404 {object} apiModels.ErrorResponse @Failure 409 {object} apiModels.ErrorResponse @Failure 429 {object} apiModels.ErrorResponse @Failure 500 {object} apiModels.ErrorResponse @Router /v1/domain/{domain}/info [get].
GetSubdomainInfo godoc @Summary Get DNS record for a specific subdomain @Tags domain @Produce json @Param domain path string true "Domain" @Param subdomain path string true "Subdomain" @Success 200 {object} models.Record @Failure 400 {object} apiModels.ErrorResponse @Failure 401 {object} apiModels.ErrorResponse @Failure 404 {object} apiModels.ErrorResponse @Failure 409 {object} apiModels.ErrorResponse @Failure 429 {object} apiModels.ErrorResponse @Failure 500 {object} apiModels.ErrorResponse @Router /v1/domain/{domain}/{subdomain}/info [get].
GetToken godoc @Summary Get token @Tags auth @Produce json @Accept json @Param request body models.Login true "Request body" @Success 200 {object} models.TokenResponse @Failure 400 {object} apiModels.ErrorResponse @Failure 401 {object} apiModels.ErrorResponse @Router /auth/token [post].
UpdateRecord godoc @Summary Update an existing record @Tags domain @Produce json @Accept json @Param request body apiModels.SaveRowRequest true "Request body" @Param domain path string true "Domain" @Success 204 @Failure 400 {object} apiModels.ErrorResponse @Failure 401 {object} apiModels.ErrorResponse @Failure 404 {object} apiModels.ErrorResponse @Failure 409 {object} apiModels.ErrorResponse @Failure 429 {object} apiModels.ErrorResponse @Failure 500 {object} apiModels.ErrorResponse @Router /v1/domain/{domain}/record [put].
UpdateRecord godoc @Summary Update an existing record @Tags domain @Produce json @Accept json @Param request body apiModels.SaveRowRequestV2 true "Request body" @Param domain path string true "Domain" @Param id path int true "Record ID" @Success 204 @Failure 400 {object} apiModels.ErrorResponse @Failure 401 {object} apiModels.ErrorResponse @Failure 404 {object} apiModels.ErrorResponse @Failure 409 {object} apiModels.ErrorResponse @Failure 429 {object} apiModels.ErrorResponse @Failure 500 {object} apiModels.ErrorResponse @Router /v2/domain/{domain}/record/{id} [put].