Skip to content

added new models and updated x-project-id to optional - #15

Merged
amaan-ai20 merged 3 commits into
mainfrom
new-models-added
Jul 20, 2026
Merged

added new models and updated x-project-id to optional#15
amaan-ai20 merged 3 commits into
mainfrom
new-models-added

Conversation

@maddy-a

@maddy-a maddy-a commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

Summary by CodeRabbit

  • New Features
    • Added API reference and playground documentation for gpt-oss-120b and qwen3-30b-a3b-fp8.
  • Enhancements
    • Made x-project-id optional (with x-api-key required) across REST docs, playgrounds, and examples/integrations.
    • Expanded Batch API documentation and schemas, including File/Batch/pagination details; updated model allowlists and related examples.
    • Updated examples and integrations to use zlm-v2-iab-classify-edge-enriched where applicable.
  • Documentation
    • Refreshed model catalog, model cards, pricing tables, and payload examples, including reasoning-trace behavior and model-specific API availability notes.
    • Refined authentication error messaging (e.g., 401 missing header guidance).

@coderabbitai

coderabbitai Bot commented Jul 20, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 7505c2d4-397f-4e08-b5c1-b0768c6e9fd9

📥 Commits

Reviewing files that changed from the base of the PR and between 8da9af5 and 5462f26.

📒 Files selected for processing (3)
  • docs.json
  • integrations/claude-code-plugin.mdx
  • integrations/openclaw.mdx

📝 Walkthrough

Walkthrough

This PR adds two model API references, updates OpenAPI authentication and Batch schemas, migrates enriched IAB classifier references to v2, and refreshes catalogs, pricing tables, examples, and integration guidance.

Changes

Batch API contract

Layer / File(s) Summary
Batch schemas, endpoints, and authentication
api-reference/openapi/batch.openapi.json, cookbook/batch-review-tagging.mdx, docs/batch/*
Makes x-project-id optional, adds reusable file and batch schemas, updates endpoint references, and aligns authentication examples and error documentation.

New model references

Layer / File(s) Summary
New model API references
api-reference/models/*, api-reference/openapi/playgrounds/gpt-oss-120b.openapi.json, api-reference/openapi/playgrounds/qwen3-30b-a3b-fp8.openapi.json
Adds model pages and OpenAPI playgrounds for gpt-oss-120b and qwen3-30b-a3b-fp8.
Catalog and text-generation documentation
docs.json, docs/model-catalog.mdx, docs/text-generation.mdx
Adds the models to navigation, catalogs, task lists, pricing tables, and API examples.

Authentication and model migration

Layer / File(s) Summary
Optional project authentication
api-reference/openapi/playgrounds/*.openapi.json, api-reference/openapi/zerogpu.openapi.json, docs/platform.mdx, docs/quickstart.mdx, integrations/mcp.mdx
Documents x-api-key as required and x-project-id as optional, including operation-level header parameters.
Enriched classifier v2 migration
api-reference/models/zlm-v2-iab-classify-edge-enriched.mdx, api-reference/openapi/playgrounds/zlm-v2-iab-classify-edge-enriched.openapi.json, docs/ad-tech.mdx, docs/text-classification.mdx, integrations/*
Replaces enriched classifier v1 references with zlm-v2-iab-classify-edge-enriched.
Reference and pricing refresh
api-reference/models/zlm-v1-iab-classify-edge.mdx, docs/pii.mdx, docs/summarization.mdx
Adds the 50+ language capability wording and reorders pricing-table columns.

Estimated code review effort: 4 (Complex) | ~45 minutes

Possibly related PRs

Suggested labels: documentation

Suggested reviewers: amaan-ai20

Poem

I’m a rabbit with docs in my paws,
New models hop through schemas and laws.
Project IDs rest optional and light,
While API keys keep requests right.
V2 carrots replace the old IAB line—
Fresh examples and references align!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main change set: new model docs/specs and making x-project-id optional.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch new-models-added

Comment @coderabbitai help to get the list of available commands.

@mintlify

mintlify Bot commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
zerogpu 🟢 Ready View Preview Jul 20, 2026, 4:04 PM

💡 Tip: Enable Workflows to automatically generate PRs for you.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🧹 Nitpick comments (4)
api-reference/openapi/playgrounds/gpt-oss-120b.openapi.json (2)

380-402: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Unused InputMessage schema.

Not referenced anywhere in this spec — CreateResponseRequest.input is a plain string, not this object shape. Looks like a leftover from a template where input supported structured messages.

🧹 Proposed cleanup
-      "InputMessage": {
-        "type": "object",
-        "required": [
-          "role",
-          "content"
-        ],
-        "properties": {
-          "role": {
-            "type": "string",
-            "enum": [
-              "user",
-              "system"
-            ]
-          },
-          "content": {
-            "type": "string",
-            "minLength": 1,
-            "format": "textarea",
-            "maxLength": 131072,
-            "description": "Message text."
-          }
-        }
-      },
       "Response": {
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@api-reference/openapi/playgrounds/gpt-oss-120b.openapi.json` around lines 380
- 402, Remove the unused InputMessage schema from the OpenAPI components, since
CreateResponseRequest.input remains a plain string and does not reference this
object shape. Do not alter the existing request schema or other component
definitions.

333-338: 🚀 Performance & Scalability | 🔵 Trivial | ⚡ Quick win

Bound the messages array size. Both new playground specs define CreateChatCompletionRequest.messages with minItems: 1 but no upper bound, flagged by Checkov (CKV_OPENAPI_21).

  • api-reference/openapi/playgrounds/gpt-oss-120b.openapi.json#L333-L338: add a maxItems cap to the messages array in CreateChatCompletionRequest.
  • api-reference/openapi/playgrounds/qwen3-30b-a3b-fp8.openapi.json#L171-L176: same fix for the messages array in its CreateChatCompletionRequest.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@api-reference/openapi/playgrounds/gpt-oss-120b.openapi.json` around lines 333
- 338, Add a finite maxItems cap to the messages array in
CreateChatCompletionRequest in both
api-reference/openapi/playgrounds/gpt-oss-120b.openapi.json:333-338 and
api-reference/openapi/playgrounds/qwen3-30b-a3b-fp8.openapi.json:171-176,
preserving the existing minItems and ChatMessage reference.

Source: Linters/SAST tools

api-reference/openapi/batch.openapi.json (2)

617-644: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Consider bounding data array sizes.

Checkov (CKV_OPENAPI_21) flags FileList.data and BatchList.data for missing maxItems. Adding a bound (or documenting limit's max as the effective bound) improves schema completeness for consumers/tooling.

Also applies to: 766-792

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@api-reference/openapi/batch.openapi.json` around lines 617 - 644, Update the
FileList.data and BatchList.data array schemas to declare a maximum item count
using the API’s established limit maximum as the bound, ensuring both schemas
satisfy CKV_OPENAPI_21 without changing their item references or response
structure.

Source: Linters/SAST tools


101-111: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Duplicated x-project-id header parameter across 9 operations.

The same parameter object (name/schema/description) is repeated verbatim 9 times in this file. Extracting it to components.parameters.ProjectId and referencing via $ref would reduce duplication and centralize future wording changes.

♻️ Proposed refactor
+  "components": {
+    "parameters": {
+      "ProjectId": {
+        "name": "x-project-id",
+        "in": "header",
+        "required": false,
+        "schema": { "type": "string" },
+        "description": "Optional project identifier. Scopes the request to a specific project when provided."
+      }
+    },
     ...
-        "parameters": [
-          {
-            "name": "x-project-id",
-            ...
-          }
-        ]
+        "parameters": [
+          { "$ref": "`#/components/parameters/ProjectId`" }
+        ]

Also applies to: 120-129, 208-216, 251-259, 296-304, 395-403, 413-421, 473-481, 518-526

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@api-reference/openapi/batch.openapi.json` around lines 101 - 111, Extract the
repeated x-project-id header parameter into components.parameters.ProjectId,
preserving its name, header location, optionality, string schema, and
description. Replace all nine inline parameter objects in the affected
operations with $ref references to the centralized ProjectId component.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@api-reference/openapi/batch.openapi.json`:
- Around line 178-196: Restore the previously documented error responses for the
GET /v1/files and GET /v1/batches list operations: add 500 to both, and add 400
(Invalid limit) to GET /v1/batches. Keep the existing 401, 403, and 429
responses unchanged and align both operations with their corresponding POST
definitions.

In `@cookbook/batch-review-tagging.mdx`:
- Line 63: Update the setup section and its getpass prompt to treat the Project
ID as optional, consistent with the request description near the cURL examples.
Keep the API key required, and make project-scoped input conditional rather than
always prompting for x-project-id.

In `@docs/batch/errors.mdx`:
- Around line 74-75: The Fix line in the documented error entry contradicts the
updated Cause and incorrectly requires both headers. Update the Fix text to
instruct sending the required x-api-key header on every request, while treating
x-project-id as optional.

---

Nitpick comments:
In `@api-reference/openapi/batch.openapi.json`:
- Around line 617-644: Update the FileList.data and BatchList.data array schemas
to declare a maximum item count using the API’s established limit maximum as the
bound, ensuring both schemas satisfy CKV_OPENAPI_21 without changing their item
references or response structure.
- Around line 101-111: Extract the repeated x-project-id header parameter into
components.parameters.ProjectId, preserving its name, header location,
optionality, string schema, and description. Replace all nine inline parameter
objects in the affected operations with $ref references to the centralized
ProjectId component.

In `@api-reference/openapi/playgrounds/gpt-oss-120b.openapi.json`:
- Around line 380-402: Remove the unused InputMessage schema from the OpenAPI
components, since CreateResponseRequest.input remains a plain string and does
not reference this object shape. Do not alter the existing request schema or
other component definitions.
- Around line 333-338: Add a finite maxItems cap to the messages array in
CreateChatCompletionRequest in both
api-reference/openapi/playgrounds/gpt-oss-120b.openapi.json:333-338 and
api-reference/openapi/playgrounds/qwen3-30b-a3b-fp8.openapi.json:171-176,
preserving the existing minItems and ChatMessage reference.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: cd52529c-f099-4a35-a06b-66abeb0a6be2

📥 Commits

Reviewing files that changed from the base of the PR and between 32f4b99 and 0f33f1c.

📒 Files selected for processing (35)
  • api-reference/models/gpt-oss-120b.mdx
  • api-reference/models/qwen3-30b-a3b-fp8.mdx
  • api-reference/models/zlm-v1-iab-classify-edge.mdx
  • api-reference/models/zlm-v2-iab-classify-edge-enriched.mdx
  • api-reference/openapi/batch.openapi.json
  • api-reference/openapi/playgrounds/LFM2_5-1_2B-Instruct.openapi.json
  • api-reference/openapi/playgrounds/LFM2_5-1_2B-Thinking.openapi.json
  • api-reference/openapi/playgrounds/deberta-v3-small.openapi.json
  • api-reference/openapi/playgrounds/gliner-multi-pii-v1.openapi.json
  • api-reference/openapi/playgrounds/gliner2-base-v1.openapi.json
  • api-reference/openapi/playgrounds/gpt-oss-120b.openapi.json
  • api-reference/openapi/playgrounds/llama-3_1-8b-instruct-fast.openapi.json
  • api-reference/openapi/playgrounds/qwen3-30b-a3b-fp8.openapi.json
  • api-reference/openapi/playgrounds/zlm-v1-followup-questions-edge.openapi.json
  • api-reference/openapi/playgrounds/zlm-v1-iab-classify-edge.openapi.json
  • api-reference/openapi/playgrounds/zlm-v1-iab-domain-classifier.openapi.json
  • api-reference/openapi/playgrounds/zlm-v2-iab-classify-edge-enriched.openapi.json
  • api-reference/openapi/zerogpu.openapi.json
  • cookbook/batch-review-tagging.mdx
  • cookbook/claude-iab-targeted-copy.mdx
  • docs.json
  • docs/ad-tech.mdx
  • docs/batch/errors.mdx
  • docs/batch/index.mdx
  • docs/model-catalog.mdx
  • docs/pii.mdx
  • docs/platform.mdx
  • docs/quickstart.mdx
  • docs/summarization.mdx
  • docs/text-classification.mdx
  • docs/text-generation.mdx
  • integrations/claude-code-plugin.mdx
  • integrations/langchain.mdx
  • integrations/mcp.mdx
  • integrations/openclaw.mdx

Comment thread api-reference/openapi/batch.openapi.json
Comment thread cookbook/batch-review-tagging.mdx Outdated
Comment thread docs/batch/errors.mdx Outdated
@mintlify

mintlify Bot commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
zerogpu 🟡 Building Jul 20, 2026, 4:04 PM

💡 Tip: Enable Workflows to automatically generate PRs for you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants