Feature: Add /v1/moderations endpoint
Maintainers usually reply within 1 day
@nolanefe is already working on this.
Since Aug 3, 2026.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 43/100
Research direction
Start with route registration in internal/server/http.go around lines 407-458 and compare the existing /v1/embeddings endpoint flow. The issue says moderation has no route, handler, or provider-side call, so trace those entry points before estimating the work. Done means the endpoint accepts the stated request shape, returns the standard response for OpenAI, and gives a clear typed error for unsupported providers; the issue names no tests to run.
Written by the indexing model from the issue text.
Description
Is your feature request related to a problem? Please describe.
GoModel does not implement the OpenAI-compatible /v1/moderations endpoint. Users evaluating GoModel as a single gateway for all their OpenAI-shaped workloads currently have to keep a separate tool around just for moderation checks.
Confirmed missing: there is no route, handler, or provider-side moderation call anywhere in the codebase (zero matches for moderation-related routes under internal/server/, and the route registration list in internal/server/http.go around lines 407-458 has no /v1/moderations entry).
Describe the solution you'd like
Add a /v1/moderations endpoint that accepts the standard OpenAI request shape (input as a string or array of strings, optional model) and returns the standard response shape (results with category flags and scores).
Realistically this ships as an OpenAI-only endpoint at first: no other provider already wired into GoModel (Anthropic, Gemini, xAI, Fireworks, Groq, etc.) exposes a comparable native moderation endpoint. Requests for providers without moderation support should get a clear, typed "unsupported for this provider" error rather than a confusing generic failure.
Describe alternatives you've considered
None - this is a small, additive endpoint with no real alternative shape to consider (the OpenAI moderation request/response format is simple and well established).
Additional context
Of the OpenAI-compatible endpoints GoModel is still missing, this is the simplest to add - closer in shape to the already-implemented /v1/embeddings (single small JSON request/response, no streaming, no multipart) than to chat/responses.
- Dominant language
- Go
- Stars
- 1.2k
- Forks
- 111
- Avg merge
- 14h 34m
- Merged PRs (30d)
- 93
Getting set up
- Ships a Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from ENTERPILOT/GoModel
-
Kimicode Provider should use the "overseas" base URL, and we should document the "China" endpoint.Possibly taken @ShryukGrandhi claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
ENTERPILOT/GoModel#1231 ·
Maintainers usually reply within 1 day
-
Difficulty 4/5 3-5 days Newbie friendliness 45/100
ENTERPILOT/GoModel#1252 ·
Maintainers usually reply within 1 day
-
Difficulty 4/5 3-5 days Newbie friendliness 55/100
ENTERPILOT/GoModel#1251 ·
Maintainers usually reply within 1 day
-
Difficulty 5/5 Over a week Newbie friendliness 45/100
ENTERPILOT/GoModel#1250 ·
Maintainers usually reply within 1 day
-
Difficulty 5/5 Over a week Newbie friendliness 28/100
ENTERPILOT/GoModel#1249 ·
Maintainers usually reply within 1 day
All issues in ENTERPILOT/GoModel
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
keyxmakerx/Chronicle#1721 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Gentleman-Programming/gentle-ai#5720 ·
Maintainers usually reply within 1 day
-
compress: block buffers get re-zeroed on every call, and the zeroing is immediately overwrittenOpen
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
ClickHouse/ch-go#1218 ·
Maintainers usually reply within 13 days
-
effort:s impact:low raised-by:reviewer risk:low
Difficulty 1/5 Under an hour Newbie friendliness 84/100
medici-finance/assay#4251 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 1-3 hours Newbie friendliness 88/100
Edwin-metcalf/MetCode#30 ·
Maintainers usually reply within 1 day