OpenAI API Conformance Report
This page provides a detailed breakdown of Llama Stack's conformance to the OpenAI API specification. The conformance score increases as schema issues are fixed and missing properties are implemented.
This documentation is auto-generated from the OpenAI API specification comparison.
Summary
| Metric | Value |
|---|---|
| Overall Conformance Score | 87.9% |
| Endpoints Implemented | 28/146 |
| Total Properties Checked | 3441 |
| Schema/Type Issues | 288 |
| Missing Properties | 130 |
| Total Issues to Fix | 418 |
Integration Test Coverage
Overall Test Coverage Score: 44.1%
| Category | Covered | Total | Score |
|---|---|---|---|
| CRUD Operations | 5 | 6 | 83.3% |
| Conversations | 5 | 9 | 55.6% |
| Request Parameters | 21 | 25 | 84.0% |
| Streaming Events | 16 | 53 | 30.2% |
| Structured Output | 0 | 2 | 0.0% |
| Tools | 2 | 16 | 12.5% |
Category Scores
Categories are sorted by conformance score (lowest first, needing most attention).
| Category | Score | Properties | Issues | Missing |
|---|---|---|---|---|
| Moderations | 15.1% | 53 | 6 | 39 |
| Batch | 39.3% | 168 | 61 | 41 |
| Completions | 56.5% | 46 | 18 | 2 |
| Vector stores | 61.3% | 310 | 106 | 14 |
| Embeddings | 64.3% | 14 | 5 | 0 |
| Files | 66.7% | 42 | 8 | 6 |
| Models | 66.7% | 15 | 0 | 5 |
| Chat | 87.1% | 403 | 33 | 19 |
| Responses | 87.1% | 225 | 29 | 0 |
| Conversations | 98.8% | 2165 | 22 | 4 |
Missing Endpoints
The following OpenAI API endpoints are not yet implemented in Llama Stack:
/assistants
/assistants/assistants/{assistant_id}
/audio
/audio/speech/audio/transcriptions/audio/translations/audio/voice_consents/audio/voice_consents/{consent_id}/audio/voices
/chat
/chat/completions/{completion_id}/messages
/evals
/evals/evals/{eval_id}/evals/{eval_id}/runs/evals/{eval_id}/runs/{run_id}/evals/{eval_id}/runs/{run_id}/output_items/evals/{eval_id}/runs/{run_id}/output_items/{output_item_id}
/fine_tuning
/fine_tuning/alpha/graders/run/fine_tuning/alpha/graders/validate/fine_tuning/checkpoints/{fine_tuned_model_checkpoint}/permissions/fine_tuning/checkpoints/{fine_tuned_model_checkpoint}/permissions/{permission_id}/fine_tuning/jobs/fine_tuning/jobs/{fine_tuning_job_id}/fine_tuning/jobs/{fine_tuning_job_id}/cancel/fine_tuning/jobs/{fine_tuning_job_id}/checkpoints/fine_tuning/jobs/{fine_tuning_job_id}/events/fine_tuning/jobs/{fine_tuning_job_id}/pause/fine_tuning/jobs/{fine_tuning_job_id}/resume
/images
/images/edits/images/generations/images/variations
/organization
/organization/audit_logs/organization/certificates/organization/certificates/activate/organization/certificates/deactivate/organization/certificates/{certificate_id}/organization/costs/organization/groups/organization/groups/{group_id}/organization/groups/{group_id}/roles/organization/groups/{group_id}/roles/{role_id}/organization/groups/{group_id}/users/organization/groups/{group_id}/users/{user_id}/organization/invites/organization/invites/{invite_id}/organization/projects/organization/projects/{project_id}/organization/projects/{project_id}/api_keys/organization/projects/{project_id}/api_keys/{key_id}/organization/projects/{project_id}/archive/organization/projects/{project_id}/certificates/organization/projects/{project_id}/certificates/activate/organization/projects/{project_id}/certificates/deactivate/organization/projects/{project_id}/groups/organization/projects/{project_id}/groups/{group_id}/organization/projects/{project_id}/rate_limits/organization/projects/{project_id}/rate_limits/{rate_limit_id}/organization/projects/{project_id}/service_accounts/organization/projects/{project_id}/service_accounts/{service_account_id}/organization/projects/{project_id}/users/organization/projects/{project_id}/users/{user_id}/organization/roles/organization/roles/{role_id}/organization/usage/audio_speeches/organization/usage/audio_transcriptions/organization/usage/code_interpreter_sessions/organization/usage/completions/organization/usage/embeddings/organization/usage/images/organization/usage/moderations/organization/usage/vector_stores/organization/users/organization/users/{user_id}/organization/users/{user_id}/roles/organization/users/{user_id}/roles/{role_id}
/projects
/projects/{project_id}/groups/{group_id}/roles/projects/{project_id}/groups/{group_id}/roles/{role_id}/projects/{project_id}/roles/projects/{project_id}/roles/{role_id}/projects/{project_id}/users/{user_id}/roles/projects/{project_id}/users/{user_id}/roles/{role_id}
/realtime
/realtime/calls/realtime/calls/{call_id}/accept/realtime/calls/{call_id}/hangup/realtime/calls/{call_id}/refer/realtime/calls/{call_id}/reject/realtime/client_secrets/realtime/sessions/realtime/transcription_sessions
/responses
/responses/compact/responses/input_tokens
/skills
/skills/skills/{skill_id}/skills/{skill_id}/content/skills/{skill_id}/versions/skills/{skill_id}/versions/{version}/skills/{skill_id}/versions/{version}/content
/threads
/threads/threads/runs/threads/{thread_id}/threads/{thread_id}/messages/threads/{thread_id}/messages/{message_id}/threads/{thread_id}/runs/threads/{thread_id}/runs/{run_id}/threads/{thread_id}/runs/{run_id}/cancel/threads/{thread_id}/runs/{run_id}/steps/threads/{thread_id}/runs/{run_id}/steps/{step_id}/threads/{thread_id}/runs/{run_id}/submit_tool_outputs
/uploads
/uploads/uploads/{upload_id}/cancel/uploads/{upload_id}/complete/uploads/{upload_id}/parts
/videos
/videos/videos/characters/videos/characters/{character_id}/videos/edits/videos/extensions/videos/{video_id}/videos/{video_id}/content/videos/{video_id}/remix
Detailed Category Breakdown
Below is a detailed breakdown of conformance issues and missing properties for each category.
Moderations
Score: 15.1% · Issues: 6 · Missing: 39
/moderations
POST
Missing Properties (39)
responses.200.content.application/json.properties.results.items.properties.categories.properties.harassmentresponses.200.content.application/json.properties.results.items.properties.categories.properties.harassment/threateningresponses.200.content.application/json.properties.results.items.properties.categories.properties.hateresponses.200.content.application/json.properties.results.items.properties.categories.properties.hate/threateningresponses.200.content.application/json.properties.results.items.properties.categories.properties.illicitresponses.200.content.application/json.properties.results.items.properties.categories.properties.illicit/violentresponses.200.content.application/json.properties.results.items.properties.categories.properties.self-harmresponses.200.content.application/json.properties.results.items.properties.categories.properties.self-harm/instructionsresponses.200.content.application/json.properties.results.items.properties.categories.properties.self-harm/intentresponses.200.content.application/json.properties.results.items.properties.categories.properties.sexualresponses.200.content.application/json.properties.results.items.properties.categories.properties.sexual/minorsresponses.200.content.application/json.properties.results.items.properties.categories.properties.violenceresponses.200.content.application/json.properties.results.items.properties.categories.properties.violence/graphicresponses.200.content.application/json.properties.results.items.properties.category_applied_input_types.properties.harassmentresponses.200.content.application/json.properties.results.items.properties.category_applied_input_types.properties.harassment/threateningresponses.200.content.application/json.properties.results.items.properties.category_applied_input_types.properties.hateresponses.200.content.application/json.properties.results.items.properties.category_applied_input_types.properties.hate/threateningresponses.200.content.application/json.properties.results.items.properties.category_applied_input_types.properties.illicitresponses.200.content.application/json.properties.results.items.properties.category_applied_input_types.properties.illicit/violentresponses.200.content.application/json.properties.results.items.properties.category_applied_input_types.properties.self-harmresponses.200.content.application/json.properties.results.items.properties.category_applied_input_types.properties.self-harm/instructionsresponses.200.content.application/json.properties.results.items.properties.category_applied_input_types.properties.self-harm/intentresponses.200.content.application/json.properties.results.items.properties.category_applied_input_types.properties.sexualresponses.200.content.application/json.properties.results.items.properties.category_applied_input_types.properties.sexual/minorsresponses.200.content.application/json.properties.results.items.properties.category_applied_input_types.properties.violenceresponses.200.content.application/json.properties.results.items.properties.category_applied_input_types.properties.violence/graphicresponses.200.content.application/json.properties.results.items.properties.category_scores.properties.harassmentresponses.200.content.application/json.properties.results.items.properties.category_scores.properties.harassment/threateningresponses.200.content.application/json.properties.results.items.properties.category_scores.properties.hateresponses.200.content.application/json.properties.results.items.properties.category_scores.properties.hate/threateningresponses.200.content.application/json.properties.results.items.properties.category_scores.properties.illicitresponses.200.content.application/json.properties.results.items.properties.category_scores.properties.illicit/violentresponses.200.content.application/json.properties.results.items.properties.category_scores.properties.self-harmresponses.200.content.application/json.properties.results.items.properties.category_scores.properties.self-harm/instructionsresponses.200.content.application/json.properties.results.items.properties.category_scores.properties.self-harm/intentresponses.200.content.application/json.properties.results.items.properties.category_scores.properties.sexualresponses.200.content.application/json.properties.results.items.properties.category_scores.properties.sexual/minorsresponses.200.content.application/json.properties.results.items.properties.category_scores.properties.violenceresponses.200.content.application/json.properties.results.items.properties.category_scores.properties.violence/graphic
Schema Issues (6)
| Property | Issues |
|---|---|
requestBody.content.application/json.properties.input | Union variants added: 2 |
requestBody.content.application/json.properties.model | Nullable added (OpenAI non-nullable); Default changed: omni-moderation-latest -> None |
responses.200.content.application/json.properties.results.items | Type removed: ['object'] |
responses.200.content.application/json.properties.results.items.properties.categories | Type removed: ['object']; Union variants added: 2 |
responses.200.content.application/json.properties.results.items.properties.category_applied_input_types | Type removed: ['object']; Union variants added: 2 |
responses.200.content.application/json.properties.results.items.properties.category_scores | Type removed: ['object']; Union variants added: 2 |
Batch
Score: 39.3% · Issues: 61 · Missing: 41
/batches
GET
Missing Properties (10)
responses.200.content.application/json.properties.data.items.properties.errors.properties.dataresponses.200.content.application/json.properties.data.items.properties.errors.properties.objectresponses.200.content.application/json.properties.data.items.properties.request_counts.properties.completedresponses.200.content.application/json.properties.data.items.properties.request_counts.properties.failedresponses.200.content.application/json.properties.data.items.properties.request_counts.properties.totalresponses.200.content.application/json.properties.data.items.properties.usage.properties.input_tokensresponses.200.content.application/json.properties.data.items.properties.usage.properties.input_tokens_detailsresponses.200.content.application/json.properties.data.items.properties.usage.properties.output_tokensresponses.200.content.application/json.properties.data.items.properties.usage.properties.output_tokens_detailsresponses.200.content.application/json.properties.data.items.properties.usage.properties.total_tokens
Schema Issues (18)
| Property | Issues |
|---|---|
responses.200.content.application/json.properties.data.items | Type removed: ['object'] |
responses.200.content.application/json.properties.data.items.properties.cancelled_at | Type removed: ['integer']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
responses.200.content.application/json.properties.data.items.properties.cancelling_at | Type removed: ['integer']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
responses.200.content.application/json.properties.data.items.properties.completed_at | Type removed: ['integer']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
responses.200.content.application/json.properties.data.items.properties.error_file_id | Type removed: ['string']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
responses.200.content.application/json.properties.data.items.properties.errors | Type removed: ['object']; Union variants added: 2 |
responses.200.content.application/json.properties.data.items.properties.expired_at | Type removed: ['integer']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
responses.200.content.application/json.properties.data.items.properties.expires_at | Type removed: ['integer']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
responses.200.content.application/json.properties.data.items.properties.failed_at | Type removed: ['integer']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
responses.200.content.application/json.properties.data.items.properties.finalizing_at | Type removed: ['integer']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
responses.200.content.application/json.properties.data.items.properties.in_progress_at | Type removed: ['integer']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
responses.200.content.application/json.properties.data.items.properties.model | Type removed: ['string']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
responses.200.content.application/json.properties.data.items.properties.output_file_id | Type removed: ['string']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
responses.200.content.application/json.properties.data.items.properties.request_counts | Type removed: ['object']; Union variants added: 2 |
responses.200.content.application/json.properties.data.items.properties.usage | Type removed: ['object']; Union variants added: 2 |
responses.200.content.application/json.properties.first_id | Type removed: ['string']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
responses.200.content.application/json.properties.has_more | Default changed: None -> False |
responses.200.content.application/json.properties.last_id | Type removed: ['string']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
POST
Missing Properties (11)
requestBody.content.application/json.properties.output_expires_afterresponses.200.content.application/json.properties.errors.properties.dataresponses.200.content.application/json.properties.errors.properties.objectresponses.200.content.application/json.properties.request_counts.properties.completedresponses.200.content.application/json.properties.request_counts.properties.failedresponses.200.content.application/json.properties.request_counts.properties.totalresponses.200.content.application/json.properties.usage.properties.input_tokensresponses.200.content.application/json.properties.usage.properties.input_tokens_detailsresponses.200.content.application/json.properties.usage.properties.output_tokensresponses.200.content.application/json.properties.usage.properties.output_tokens_detailsresponses.200.content.application/json.properties.usage.properties.total_tokens
Schema Issues (15)
| Property | Issues |
|---|---|
requestBody.content.application/json.properties.endpoint | Enum removed: ['/v1/responses', '/v1/chat/completions', '/v1/embeddings', '/v1/completions', '/v1/moderations', '/v1/images/generations', '/v1/images/edits', '/v1/videos'] |
responses.200.content.application/json.properties.cancelled_at | Type removed: ['integer']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
responses.200.content.application/json.properties.cancelling_at | Type removed: ['integer']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
responses.200.content.application/json.properties.completed_at | Type removed: ['integer']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
responses.200.content.application/json.properties.error_file_id | Type removed: ['string']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
responses.200.content.application/json.properties.errors | Type removed: ['object']; Union variants added: 2 |
responses.200.content.application/json.properties.expired_at | Type removed: ['integer']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
responses.200.content.application/json.properties.expires_at | Type removed: ['integer']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
responses.200.content.application/json.properties.failed_at | Type removed: ['integer']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
responses.200.content.application/json.properties.finalizing_at | Type removed: ['integer']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
responses.200.content.application/json.properties.in_progress_at | Type removed: ['integer']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
responses.200.content.application/json.properties.model | Type removed: ['string']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
responses.200.content.application/json.properties.output_file_id | Type removed: ['string']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
responses.200.content.application/json.properties.request_counts | Type removed: ['object']; Union variants added: 2 |
responses.200.content.application/json.properties.usage | Type removed: ['object']; Union variants added: 2 |
/batches/{batch_id}
GET
Missing Properties (10)
responses.200.content.application/json.properties.errors.properties.dataresponses.200.content.application/json.properties.errors.properties.objectresponses.200.content.application/json.properties.request_counts.properties.completedresponses.200.content.application/json.properties.request_counts.properties.failedresponses.200.content.application/json.properties.request_counts.properties.totalresponses.200.content.application/json.properties.usage.properties.input_tokensresponses.200.content.application/json.properties.usage.properties.input_tokens_detailsresponses.200.content.application/json.properties.usage.properties.output_tokensresponses.200.content.application/json.properties.usage.properties.output_tokens_detailsresponses.200.content.application/json.properties.usage.properties.total_tokens
Schema Issues (14)
| Property | Issues |
|---|---|
responses.200.content.application/json.properties.cancelled_at | Type removed: ['integer']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
responses.200.content.application/json.properties.cancelling_at | Type removed: ['integer']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
responses.200.content.application/json.properties.completed_at | Type removed: ['integer']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
responses.200.content.application/json.properties.error_file_id | Type removed: ['string']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
responses.200.content.application/json.properties.errors | Type removed: ['object']; Union variants added: 2 |
responses.200.content.application/json.properties.expired_at | Type removed: ['integer']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
responses.200.content.application/json.properties.expires_at | Type removed: ['integer']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
responses.200.content.application/json.properties.failed_at | Type removed: ['integer']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
responses.200.content.application/json.properties.finalizing_at | Type removed: ['integer']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
responses.200.content.application/json.properties.in_progress_at | Type removed: ['integer']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
responses.200.content.application/json.properties.model | Type removed: ['string']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
responses.200.content.application/json.properties.output_file_id | Type removed: ['string']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
responses.200.content.application/json.properties.request_counts | Type removed: ['object']; Union variants added: 2 |
responses.200.content.application/json.properties.usage | Type removed: ['object']; Union variants added: 2 |
/batches/{batch_id}/cancel
POST
Missing Properties (10)
responses.200.content.application/json.properties.errors.properties.dataresponses.200.content.application/json.properties.errors.properties.objectresponses.200.content.application/json.properties.request_counts.properties.completedresponses.200.content.application/json.properties.request_counts.properties.failedresponses.200.content.application/json.properties.request_counts.properties.totalresponses.200.content.application/json.properties.usage.properties.input_tokensresponses.200.content.application/json.properties.usage.properties.input_tokens_detailsresponses.200.content.application/json.properties.usage.properties.output_tokensresponses.200.content.application/json.properties.usage.properties.output_tokens_detailsresponses.200.content.application/json.properties.usage.properties.total_tokens
Schema Issues (14)
| Property | Issues |
|---|---|
responses.200.content.application/json.properties.cancelled_at | Type removed: ['integer']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
responses.200.content.application/json.properties.cancelling_at | Type removed: ['integer']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
responses.200.content.application/json.properties.completed_at | Type removed: ['integer']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
responses.200.content.application/json.properties.error_file_id | Type removed: ['string']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
responses.200.content.application/json.properties.errors | Type removed: ['object']; Union variants added: 2 |
responses.200.content.application/json.properties.expired_at | Type removed: ['integer']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
responses.200.content.application/json.properties.expires_at | Type removed: ['integer']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
responses.200.content.application/json.properties.failed_at | Type removed: ['integer']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
responses.200.content.application/json.properties.finalizing_at | Type removed: ['integer']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
responses.200.content.application/json.properties.in_progress_at | Type removed: ['integer']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
responses.200.content.application/json.properties.model | Type removed: ['string']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
responses.200.content.application/json.properties.output_file_id | Type removed: ['string']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
responses.200.content.application/json.properties.request_counts | Type removed: ['object']; Union variants added: 2 |
responses.200.content.application/json.properties.usage | Type removed: ['object']; Union variants added: 2 |
Completions
Score: 56.5% · Issues: 18 · Missing: 2
/completions
POST
Missing Properties (2)
responses.200.content.application/json.properties.system_fingerprintresponses.200.content.application/json.properties.usage
Schema Issues (18)
| Property | Issues |
|---|---|
requestBody.content.application/json.properties.best_of | Type removed: ['integer']; Nullable added (OpenAI non-nullable); Union variants added: 2; Default changed: 1 -> None |
requestBody.content.application/json.properties.echo | Type removed: ['boolean']; Nullable added (OpenAI non-nullable); Union variants added: 2; Default changed: False -> None |
requestBody.content.application/json.properties.frequency_penalty | Type removed: ['number']; Nullable added (OpenAI non-nullable); Union variants added: 2; Default changed: 0 -> None |
requestBody.content.application/json.properties.logit_bias | Type removed: ['object']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
requestBody.content.application/json.properties.logprobs | Type removed: ['integer']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
requestBody.content.application/json.properties.max_tokens | Type removed: ['integer']; Nullable added (OpenAI non-nullable); Union variants added: 2; Default changed: 16 -> None |
requestBody.content.application/json.properties.model | Type added: ['string']; Union variants removed: 2 |
requestBody.content.application/json.properties.n | Type removed: ['integer']; Nullable added (OpenAI non-nullable); Union variants added: 2; Default changed: 1 -> None |
requestBody.content.application/json.properties.presence_penalty | Type removed: ['number']; Nullable added (OpenAI non-nullable); Union variants added: 2; Default changed: 0 -> None |
requestBody.content.application/json.properties.prompt | Union variants added: 4; Default changed: <|endoftext|> -> None |
requestBody.content.application/json.properties.seed | Type removed: ['integer']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
requestBody.content.application/json.properties.stop | Nullable added (OpenAI non-nullable); Union variants added: 3 |
requestBody.content.application/json.properties.stream | Type removed: ['boolean']; Nullable added (OpenAI non-nullable); Union variants added: 2; Default changed: False -> None |
requestBody.content.application/json.properties.suffix | Type removed: ['string']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
requestBody.content.application/json.properties.temperature | Type removed: ['number']; Nullable added (OpenAI non-nullable); Union variants added: 2; Default changed: 1 -> None |
requestBody.content.application/json.properties.top_p | Type removed: ['number']; Nullable added (OpenAI non-nullable); Union variants added: 2; Default changed: 1 -> None |
requestBody.content.application/json.properties.user | Type removed: ['string']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
responses.200.content.application/json.properties.choices.items | Type removed: ['object'] |
Vector stores
Score: 61.3% · Issues: 106 · Missing: 14
/vector_stores
GET
Missing Properties (2)
responses.200.content.application/json.properties.data.items.properties.expires_after.properties.anchorresponses.200.content.application/json.properties.data.items.properties.expires_after.properties.days
Schema Issues (12)
| Property | Issues |
|---|---|
responses.200.content.application/json.properties.data.items | Type removed: ['object'] |
responses.200.content.application/json.properties.data.items.properties.expires_after | Type removed: ['object']; Union variants added: 2 |
responses.200.content.application/json.properties.data.items.properties.file_counts | Type removed: ['object'] |
responses.200.content.application/json.properties.data.items.properties.metadata | Type added: ['object']; Nullable removed (OpenAI nullable); Union variants removed: 2 |
responses.200.content.application/json.properties.data.items.properties.name | Type removed: ['string']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
responses.200.content.application/json.properties.data.items.properties.object | Enum removed: ['vector_store']; Default changed: None -> vector_store |
responses.200.content.application/json.properties.data.items.properties.status | Enum removed: ['expired', 'in_progress', 'completed']; Default changed: None -> completed |
responses.200.content.application/json.properties.data.items.properties.usage_bytes | Default changed: None -> 0 |
responses.200.content.application/json.properties.first_id | Type removed: ['string']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
responses.200.content.application/json.properties.has_more | Default changed: None -> False |
responses.200.content.application/json.properties.last_id | Type removed: ['string']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
responses.200.content.application/json.properties.object | Default changed: None -> list |
POST
Missing Properties (5)
requestBody.content.application/json.properties.descriptionrequestBody.content.application/json.properties.expires_after.properties.anchorrequestBody.content.application/json.properties.expires_after.properties.daysresponses.200.content.application/json.properties.expires_after.properties.anchorresponses.200.content.application/json.properties.expires_after.properties.days
Schema Issues (11)
| Property | Issues |
|---|---|
requestBody.content.application/json.properties.chunking_strategy | Type removed: ['object']; Union variants added: 2 |
requestBody.content.application/json.properties.expires_after | Type removed: ['object']; Union variants added: 2 |
requestBody.content.application/json.properties.file_ids | Type removed: ['array']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
requestBody.content.application/json.properties.name | Type removed: ['string']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
responses.200.content.application/json.properties.expires_after | Type removed: ['object']; Union variants added: 2 |
responses.200.content.application/json.properties.file_counts | Type removed: ['object'] |
responses.200.content.application/json.properties.metadata | Type added: ['object']; Nullable removed (OpenAI nullable); Union variants removed: 2 |
responses.200.content.application/json.properties.name | Type removed: ['string']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
responses.200.content.application/json.properties.object | Enum removed: ['vector_store']; Default changed: None -> vector_store |
responses.200.content.application/json.properties.status | Enum removed: ['expired', 'in_progress', 'completed']; Default changed: None -> completed |
responses.200.content.application/json.properties.usage_bytes | Default changed: None -> 0 |
/vector_stores/{vector_store_id}
DELETE
Schema Issues (2)
| Property | Issues |
|---|---|
responses.200.content.application/json.properties.deleted | Default changed: None -> True |
responses.200.content.application/json.properties.object | Enum removed: ['vector_store.deleted']; Default changed: None -> vector_store.deleted |
GET
Missing Properties (2)
responses.200.content.application/json.properties.expires_after.properties.anchorresponses.200.content.application/json.properties.expires_after.properties.days
Schema Issues (7)
| Property | Issues |
|---|---|
responses.200.content.application/json.properties.expires_after | Type removed: ['object']; Union variants added: 2 |
responses.200.content.application/json.properties.file_counts | Type removed: ['object'] |
responses.200.content.application/json.properties.metadata | Type added: ['object']; Nullable removed (OpenAI nullable); Union variants removed: 2 |
responses.200.content.application/json.properties.name | Type removed: ['string']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
responses.200.content.application/json.properties.object | Enum removed: ['vector_store']; Default changed: None -> vector_store |
responses.200.content.application/json.properties.status | Enum removed: ['expired', 'in_progress', 'completed']; Default changed: None -> completed |
responses.200.content.application/json.properties.usage_bytes | Default changed: None -> 0 |
POST
Missing Properties (2)
responses.200.content.application/json.properties.expires_after.properties.anchorresponses.200.content.application/json.properties.expires_after.properties.days
Schema Issues (9)
| Property | Issues |
|---|---|
requestBody.content.application/json.properties.expires_after | Union variants added: 2 |
requestBody.content.application/json.properties.name | Type removed: ['string']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
responses.200.content.application/json.properties.expires_after | Type removed: ['object']; Union variants added: 2 |
responses.200.content.application/json.properties.file_counts | Type removed: ['object'] |
responses.200.content.application/json.properties.metadata | Type added: ['object']; Nullable removed (OpenAI nullable); Union variants removed: 2 |
responses.200.content.application/json.properties.name | Type removed: ['string']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
responses.200.content.application/json.properties.object | Enum removed: ['vector_store']; Default changed: None -> vector_store |
responses.200.content.application/json.properties.status | Enum removed: ['expired', 'in_progress', 'completed']; Default changed: None -> completed |
responses.200.content.application/json.properties.usage_bytes | Default changed: None -> 0 |
/vector_stores/{vector_store_id}/file_batches
POST
Missing Properties (1)
requestBody.content.application/json.properties.files
Schema Issues (4)
| Property | Issues |
|---|---|
requestBody.content.application/json.properties.chunking_strategy | Type removed: ['object']; Union variants added: 2 |
responses.200.content.application/json.properties.file_counts | Type removed: ['object'] |
responses.200.content.application/json.properties.object | Enum removed: ['vector_store.files_batch']; Default changed: None -> vector_store.file_batch |
responses.200.content.application/json.properties.status | Enum removed: ['in_progress', 'completed', 'cancelled', 'failed']; Type removed: ['string']; Union variants added: 4 |
/vector_stores/{vector_store_id}/file_batches/{batch_id}
GET
Schema Issues (3)
| Property | Issues |
|---|---|
responses.200.content.application/json.properties.file_counts | Type removed: ['object'] |
responses.200.content.application/json.properties.object | Enum removed: ['vector_store.files_batch']; Default changed: None -> vector_store.file_batch |
responses.200.content.application/json.properties.status | Enum removed: ['in_progress', 'completed', 'cancelled', 'failed']; Type removed: ['string']; Union variants added: 4 |
/vector_stores/{vector_store_id}/file_batches/{batch_id}/cancel
POST
Schema Issues (3)
| Property | Issues |
|---|---|
responses.200.content.application/json.properties.file_counts | Type removed: ['object'] |
responses.200.content.application/json.properties.object | Enum removed: ['vector_store.files_batch']; Default changed: None -> vector_store.file_batch |
responses.200.content.application/json.properties.status | Enum removed: ['in_progress', 'completed', 'cancelled', 'failed']; Type removed: ['string']; Union variants added: 4 |
/vector_stores/{vector_store_id}/file_batches/{batch_id}/files
GET
Schema Issues (11)
| Property | Issues |
|---|---|
responses.200.content.application/json.properties.data.items | Type removed: ['object'] |
responses.200.content.application/json.properties.data.items.properties.attributes | Type added: ['object']; Nullable removed (OpenAI nullable); Union variants removed: 2 |
responses.200.content.application/json.properties.data.items.properties.chunking_strategy | Type removed: ['object']; Union variants added: 3; Union variants removed: 2 |
responses.200.content.application/json.properties.data.items.properties.last_error | Union variants added: 1; Union variants removed: 1 |
responses.200.content.application/json.properties.data.items.properties.object | Enum removed: ['vector_store.file']; Default changed: None -> vector_store.file |
responses.200.content.application/json.properties.data.items.properties.status | Enum removed: ['in_progress', 'completed', 'cancelled', 'failed']; Type removed: ['string']; Union variants added: 4 |
responses.200.content.application/json.properties.data.items.properties.usage_bytes | Default changed: None -> 0 |
responses.200.content.application/json.properties.first_id | Type removed: ['string']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
responses.200.content.application/json.properties.has_more | Default changed: None -> False |
responses.200.content.application/json.properties.last_id | Type removed: ['string']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
responses.200.content.application/json.properties.object | Default changed: None -> list |
/vector_stores/{vector_store_id}/files
GET
Schema Issues (11)
| Property | Issues |
|---|---|
responses.200.content.application/json.properties.data.items | Type removed: ['object'] |
responses.200.content.application/json.properties.data.items.properties.attributes | Type added: ['object']; Nullable removed (OpenAI nullable); Union variants removed: 2 |
responses.200.content.application/json.properties.data.items.properties.chunking_strategy | Type removed: ['object']; Union variants added: 3; Union variants removed: 2 |
responses.200.content.application/json.properties.data.items.properties.last_error | Union variants added: 1; Union variants removed: 1 |
responses.200.content.application/json.properties.data.items.properties.object | Enum removed: ['vector_store.file']; Default changed: None -> vector_store.file |
responses.200.content.application/json.properties.data.items.properties.status | Enum removed: ['in_progress', 'completed', 'cancelled', 'failed']; Type removed: ['string']; Union variants added: 4 |
responses.200.content.application/json.properties.data.items.properties.usage_bytes | Default changed: None -> 0 |
responses.200.content.application/json.properties.first_id | Type removed: ['string']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
responses.200.content.application/json.properties.has_more | Default changed: None -> False |
responses.200.content.application/json.properties.last_id | Type removed: ['string']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
responses.200.content.application/json.properties.object | Default changed: None -> list |
POST
Schema Issues (7)
| Property | Issues |
|---|---|
requestBody.content.application/json.properties.chunking_strategy | Type removed: ['object']; Union variants added: 2 |
responses.200.content.application/json.properties.attributes | Type added: ['object']; Nullable removed (OpenAI nullable); Union variants removed: 2 |
responses.200.content.application/json.properties.chunking_strategy | Type removed: ['object']; Union variants added: 3; Union variants removed: 2 |
responses.200.content.application/json.properties.last_error | Union variants added: 1; Union variants removed: 1 |
responses.200.content.application/json.properties.object | Enum removed: ['vector_store.file']; Default changed: None -> vector_store.file |
responses.200.content.application/json.properties.status | Enum removed: ['in_progress', 'completed', 'cancelled', 'failed']; Type removed: ['string']; Union variants added: 4 |
responses.200.content.application/json.properties.usage_bytes | Default changed: None -> 0 |
/vector_stores/{vector_store_id}/files/{file_id}
DELETE
Schema Issues (2)
| Property | Issues |
|---|---|
responses.200.content.application/json.properties.deleted | Default changed: None -> True |
responses.200.content.application/json.properties.object | Enum removed: ['vector_store.file.deleted']; Default changed: None -> vector_store.file.deleted |
GET
Schema Issues (6)
| Property | Issues |
|---|---|
responses.200.content.application/json.properties.attributes | Type added: ['object']; Nullable removed (OpenAI nullable); Union variants removed: 2 |
responses.200.content.application/json.properties.chunking_strategy | Type removed: ['object']; Union variants added: 3; Union variants removed: 2 |
responses.200.content.application/json.properties.last_error | Union variants added: 1; Union variants removed: 1 |
responses.200.content.application/json.properties.object | Enum removed: ['vector_store.file']; Default changed: None -> vector_store.file |
responses.200.content.application/json.properties.status | Enum removed: ['in_progress', 'completed', 'cancelled', 'failed']; Type removed: ['string']; Union variants added: 4 |
responses.200.content.application/json.properties.usage_bytes | Default changed: None -> 0 |
POST
Schema Issues (7)
| Property | Issues |
|---|---|
requestBody.content.application/json.properties.attributes | Type added: ['object']; Nullable removed (OpenAI nullable); Union variants removed: 2 |
responses.200.content.application/json.properties.attributes | Type added: ['object']; Nullable removed (OpenAI nullable); Union variants removed: 2 |
responses.200.content.application/json.properties.chunking_strategy | Type removed: ['object']; Union variants added: 3; Union variants removed: 2 |
responses.200.content.application/json.properties.last_error | Union variants added: 1; Union variants removed: 1 |
responses.200.content.application/json.properties.object | Enum removed: ['vector_store.file']; Default changed: None -> vector_store.file |
responses.200.content.application/json.properties.status | Enum removed: ['in_progress', 'completed', 'cancelled', 'failed']; Type removed: ['string']; Union variants added: 4 |
responses.200.content.application/json.properties.usage_bytes | Default changed: None -> 0 |
/vector_stores/{vector_store_id}/files/{file_id}/content
GET
Schema Issues (2)
| Property | Issues |
|---|---|
responses.200.content.application/json.properties.data.items | Type removed: ['object'] |
responses.200.content.application/json.properties.has_more | Default changed: None -> False |
/vector_stores/{vector_store_id}/search
POST
Missing Properties (2)
requestBody.content.application/json.properties.ranking_options.properties.rankerrequestBody.content.application/json.properties.ranking_options.properties.score_threshold
Schema Issues (9)
| Property | Issues |
|---|---|
requestBody.content.application/json.properties.filters | Union variants added: 2 |
requestBody.content.application/json.properties.max_num_results | Type removed: ['integer']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
requestBody.content.application/json.properties.query | Union variants added: 2 |
requestBody.content.application/json.properties.ranking_options | Type removed: ['object']; Union variants added: 2 |
requestBody.content.application/json.properties.rewrite_query | Type removed: ['boolean']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
responses.200.content.application/json.properties.data.items | Type removed: ['object'] |
responses.200.content.application/json.properties.data.items.properties.content.items | Type removed: ['object'] |
responses.200.content.application/json.properties.has_more | Default changed: None -> False |
responses.200.content.application/json.properties.object | Enum removed: ['vector_store.search_results.page']; Default changed: None -> vector_store.search_results.page |
Embeddings
Score: 64.3% · Issues: 5 · Missing: 0
/embeddings
POST
Schema Issues (5)
| Property | Issues |
|---|---|
requestBody.content.application/json.properties.input | Union variants added: 4 |
requestBody.content.application/json.properties.model | Type added: ['string']; Union variants removed: 2 |
responses.200.content.application/json.properties.data.items | Type removed: ['object'] |
responses.200.content.application/json.properties.data.items.properties.embedding | Type removed: ['array']; Union variants added: 2 |
responses.200.content.application/json.properties.usage | Type removed: ['object'] |
Files
Score: 66.7% · Issues: 8 · Missing: 6
/files
GET
Schema Issues (2)
| Property | Issues |
|---|---|
responses.200.content.application/json.properties.data.items.properties.expires_at | Type removed: ['integer']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
responses.200.content.application/json.properties.data.items.properties.purpose | Enum values removed: ['assistants_output', 'batch_output', 'fine-tune', 'fine-tune-results', 'vision', 'user_data'] |
POST
Missing Properties (4)
requestBody.content.multipart/form-data.properties.expires_after.properties.anchorrequestBody.content.multipart/form-data.properties.expires_after.properties.secondsresponses.200.content.application/json.properties.statusresponses.200.content.application/json.properties.status_details
Schema Issues (4)
| Property | Issues |
|---|---|
requestBody.content.multipart/form-data.properties.expires_after | Type removed: ['object']; Union variants added: 2 |
requestBody.content.multipart/form-data.properties.purpose | Enum values removed: ['fine-tune', 'vision', 'user_data', 'evals'] |
responses.200.content.application/json.properties.expires_at | Type removed: ['integer']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
responses.200.content.application/json.properties.purpose | Enum values removed: ['assistants_output', 'batch_output', 'fine-tune', 'fine-tune-results', 'vision', 'user_data'] |
/files/{file_id}
GET
Missing Properties (2)
responses.200.content.application/json.properties.statusresponses.200.content.application/json.properties.status_details
Schema Issues (2)
| Property | Issues |
|---|---|
responses.200.content.application/json.properties.expires_at | Type removed: ['integer']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
responses.200.content.application/json.properties.purpose | Enum values removed: ['assistants_output', 'batch_output', 'fine-tune', 'fine-tune-results', 'vision', 'user_data'] |
Models
Score: 66.7% · Issues: 0 · Missing: 5
/models
GET
Missing Properties (1)
responses.200.content.application/json.properties.object
/models/{model}
GET
Missing Properties (4)
responses.200.content.application/json.properties.createdresponses.200.content.application/json.properties.idresponses.200.content.application/json.properties.objectresponses.200.content.application/json.properties.owned_by
Chat
Score: 87.1% · Issues: 33 · Missing: 19
/chat/completions
GET
Missing Properties (5)
parameters.query.metadataresponses.200.content.application/json.properties.data.items.properties.usage.properties.completion_tokens_details.properties.accepted_prediction_tokensresponses.200.content.application/json.properties.data.items.properties.usage.properties.completion_tokens_details.properties.audio_tokensresponses.200.content.application/json.properties.data.items.properties.usage.properties.completion_tokens_details.properties.rejected_prediction_tokensresponses.200.content.application/json.properties.data.items.properties.usage.properties.prompt_tokens_details.properties.audio_tokens
Schema Issues (9)
| Property | Issues |
|---|---|
responses.200.content.application/json.properties.data.items | Type removed: ['object'] |
responses.200.content.application/json.properties.data.items.properties.choices.items | Type removed: ['object'] |
responses.200.content.application/json.properties.data.items.properties.choices.items.properties.message | Type removed: ['object'] |
responses.200.content.application/json.properties.data.items.properties.choices.items.properties.message.properties.function_call | Type removed: ['object'] |
responses.200.content.application/json.properties.data.items.properties.choices.items.properties.message.properties.tool_calls.items | Union variants added: 2 |
responses.200.content.application/json.properties.data.items.properties.usage | Type removed: ['object'] |
responses.200.content.application/json.properties.data.items.properties.usage.properties.completion_tokens_details | Type removed: ['object'] |
responses.200.content.application/json.properties.data.items.properties.usage.properties.prompt_tokens_details | Type removed: ['object'] |
responses.200.content.application/json.properties.object | Default changed: list -> None |
POST
Missing Properties (10)
responses.200.content.application/json.properties.usage.properties.completion_tokens_details.properties.accepted_prediction_tokensresponses.200.content.application/json.properties.usage.properties.completion_tokens_details.properties.audio_tokensresponses.200.content.application/json.properties.usage.properties.completion_tokens_details.properties.rejected_prediction_tokensresponses.200.content.application/json.properties.usage.properties.prompt_tokens_details.properties.audio_tokensresponses.200.content.text/event-stream.properties.choices.items.properties.delta.properties.function_callresponses.200.content.text/event-stream.properties.choices.items.properties.delta.properties.tool_calls.items.properties.indexresponses.200.content.text/event-stream.properties.usage.properties.completion_tokens_details.properties.accepted_prediction_tokensresponses.200.content.text/event-stream.properties.usage.properties.completion_tokens_details.properties.audio_tokensresponses.200.content.text/event-stream.properties.usage.properties.completion_tokens_details.properties.rejected_prediction_tokensresponses.200.content.text/event-stream.properties.usage.properties.prompt_tokens_details.properties.audio_tokens
Schema Issues (17)
| Property | Issues |
|---|---|
responses.200.content.application/json.properties.choices.items | Type removed: ['object'] |
responses.200.content.application/json.properties.choices.items.properties.message | Type removed: ['object'] |
responses.200.content.application/json.properties.choices.items.properties.message.properties.function_call | Type removed: ['object'] |
responses.200.content.application/json.properties.choices.items.properties.message.properties.tool_calls.items | Union variants added: 2 |
responses.200.content.application/json.properties.usage | Type removed: ['object'] |
responses.200.content.application/json.properties.usage.properties.completion_tokens_details | Type removed: ['object'] |
responses.200.content.application/json.properties.usage.properties.prompt_tokens_details | Type removed: ['object'] |
responses.200.content.text/event-stream.properties.choices.items | Type removed: ['object'] |
responses.200.content.text/event-stream.properties.choices.items.properties.delta | Type removed: ['object'] |
responses.200.content.text/event-stream.properties.choices.items.properties.delta.properties.tool_calls.items | Type removed: ['object'] |
responses.200.content.text/event-stream.properties.choices.items.properties.delta.properties.tool_calls.items.properties.function | Type removed: ['object'] |
responses.200.content.text/event-stream.properties.choices.items.properties.logprobs | Type removed: ['object'] |
responses.200.content.text/event-stream.properties.choices.items.properties.logprobs.properties.content | Type removed: ['array']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
responses.200.content.text/event-stream.properties.choices.items.properties.logprobs.properties.refusal | Type removed: ['array']; Nullable added (OpenAI non-nullable); Union variants added: 2 |
responses.200.content.text/event-stream.properties.usage | Type removed: ['object'] |
responses.200.content.text/event-stream.properties.usage.properties.completion_tokens_details | Type removed: ['object'] |
responses.200.content.text/event-stream.properties.usage.properties.prompt_tokens_details | Type removed: ['object'] |
/chat/completions/{completion_id}
GET
Missing Properties (4)
responses.200.content.application/json.properties.usage.properties.completion_tokens_details.properties.accepted_prediction_tokensresponses.200.content.application/json.properties.usage.properties.completion_tokens_details.properties.audio_tokensresponses.200.content.application/json.properties.usage.properties.completion_tokens_details.properties.rejected_prediction_tokensresponses.200.content.application/json.properties.usage.properties.prompt_tokens_details.properties.audio_tokens
Schema Issues (7)
| Property | Issues |
|---|---|
responses.200.content.application/json.properties.choices.items | Type removed: ['object'] |
responses.200.content.application/json.properties.choices.items.properties.message | Type removed: ['object'] |
responses.200.content.application/json.properties.choices.items.properties.message.properties.function_call | Type removed: ['object'] |
responses.200.content.application/json.properties.choices.items.properties.message.properties.tool_calls.items | Union variants added: 2 |
responses.200.content.application/json.properties.usage | Type removed: ['object'] |
responses.200.content.application/json.properties.usage.properties.completion_tokens_details | Type removed: ['object'] |
responses.200.content.application/json.properties.usage.properties.prompt_tokens_details | Type removed: ['object'] |
Responses
Score: 87.1% · Issues: 29 · Missing: 0
/responses
POST
Schema Issues (29)
| Property | Issues | Tested |
|---|---|---|
requestBody.content.application/json.properties.include | Type removed: ['array']; Nullable added (OpenAI non-nullable); Union variants added: 2 | No |
requestBody.content.application/json.properties.input | Union variants added: 2; Union variants removed: 2 | Yes |
requestBody.content.application/json.properties.model | Type added: ['string']; Nullable removed (OpenAI nullable); Union variants removed: 2 | Yes |
requestBody.content.application/json.properties.parallel_tool_calls | Default changed: None -> True | Yes |
requestBody.content.application/json.properties.reasoning | Union variants added: 1; Union variants removed: 1 | Yes |
requestBody.content.application/json.properties.service_tier | Union variants added: 2 | Yes |
requestBody.content.application/json.properties.store | Type removed: ['boolean']; Nullable added (OpenAI non-nullable); Union variants added: 2; Default changed: None -> True | Yes |
requestBody.content.application/json.properties.stream | Type removed: ['boolean']; Nullable added (OpenAI non-nullable); Union variants added: 2; Default changed: None -> False | Yes |
requestBody.content.application/json.properties.stream_options | Union variants added: 1; Union variants removed: 1 | No |
requestBody.content.application/json.properties.text | Union variants added: 1; Union variants removed: 1 | No |
requestBody.content.application/json.properties.tool_choice | Union variants added: 2; Union variants removed: 1 | Yes |
requestBody.content.application/json.properties.truncation | Union variants added: 2 | Yes |
responses.200.content.application/json.properties.error | Union variants added: 1; Union variants removed: 1 | Yes |
responses.200.content.application/json.properties.frequency_penalty | Type removed: ['number']; Nullable added (OpenAI non-nullable); Union variants added: 2 | No |
responses.200.content.application/json.properties.incomplete_details | Union variants added: 1; Union variants removed: 1 | Yes |
responses.200.content.application/json.properties.metadata | Union variants added: 2 | Yes |
responses.200.content.application/json.properties.object | Default changed: response -> None | No |
responses.200.content.application/json.properties.output.items | Union variants added: 8; Union variants removed: 4 | Yes |
responses.200.content.application/json.properties.parallel_tool_calls | Type removed: ['boolean']; Nullable added (OpenAI non-nullable); Union variants added: 2; Default changed: None -> True | Yes |
responses.200.content.application/json.properties.presence_penalty | Type removed: ['number']; Nullable added (OpenAI non-nullable); Union variants added: 2 | No |
responses.200.content.application/json.properties.reasoning | Union variants added: 1; Union variants removed: 1 | Yes |
responses.200.content.application/json.properties.service_tier | Type removed: ['string']; Nullable added (OpenAI non-nullable); Union variants added: 2 | Yes |
responses.200.content.application/json.properties.temperature | Type removed: ['number']; Nullable added (OpenAI non-nullable); Union variants added: 2 | Yes |
responses.200.content.application/json.properties.tool_choice | Union variants added: 3 | Yes |
responses.200.content.application/json.properties.tools | Type removed: ['array']; Nullable added (OpenAI non-nullable); Union variants added: 2 | Yes |
responses.200.content.application/json.properties.top_logprobs | Type removed: ['integer']; Nullable added (OpenAI non-nullable); Union variants added: 2 | Yes |
responses.200.content.application/json.properties.top_p | Type removed: ['number']; Nullable added (OpenAI non-nullable); Union variants added: 2 | Yes |
responses.200.content.application/json.properties.truncation | Union variants added: 2 | Yes |
responses.200.content.application/json.properties.usage | Union variants added: 1; Union variants removed: 1 | Yes |
Conversations
Score: 98.8% · Issues: 22 · Missing: 4
/conversations
POST
Schema Issues (3)
| Property | Issues | Tested |
|---|---|---|
requestBody.content.application/json.properties.metadata | Union variants added: 1; Union variants removed: 1 | Yes |
responses.200.content.application/json.properties.metadata | Union variants added: 2 | Yes |
responses.200.content.application/json.properties.object | Default changed: conversation -> None | No |
/conversations/{conversation_id}
DELETE
Schema Issues (2)
| Property | Issues | Tested |
|---|---|---|
responses.200.content.application/json.properties.deleted | Default changed: None -> True | No |
responses.200.content.application/json.properties.object | Enum removed: ['conversation.deleted'] | No |
GET
Schema Issues (2)
| Property | Issues | Tested |
|---|---|---|
responses.200.content.application/json.properties.metadata | Union variants added: 2 | Yes |
responses.200.content.application/json.properties.object | Default changed: conversation -> None | No |
POST
Schema Issues (3)
| Property | Issues | Tested |
|---|---|---|
requestBody.content.application/json.properties.metadata | Type added: ['object']; Nullable removed (OpenAI nullable); Union variants removed: 2 | Yes |
responses.200.content.application/json.properties.metadata | Union variants added: 2 | Yes |
responses.200.content.application/json.properties.object | Default changed: conversation -> None | No |
/conversations/{conversation_id}/items
GET
Schema Issues (5)
| Property | Issues | Tested |
|---|---|---|
responses.200.content.application/json.properties.data.items | Union variants added: 10; Union variants removed: 25 | No |
responses.200.content.application/json.properties.first_id | Type removed: ['string']; Nullable added (OpenAI non-nullable); Union variants added: 2 | No |
responses.200.content.application/json.properties.has_more | Default changed: None -> False | No |
responses.200.content.application/json.properties.last_id | Type removed: ['string']; Nullable added (OpenAI non-nullable); Union variants added: 2 | No |
responses.200.content.application/json.properties.object | Enum removed: ['list']; Default changed: None -> list | No |
POST
Missing Properties (1)
parameters.query.include
Schema Issues (6)
| Property | Issues | Tested |
|---|---|---|
requestBody.content.application/json.properties.items.items | Union variants added: 10; Union variants removed: 3 | No |
responses.200.content.application/json.properties.data.items | Union variants added: 10; Union variants removed: 25 | No |
responses.200.content.application/json.properties.first_id | Type removed: ['string']; Nullable added (OpenAI non-nullable); Union variants added: 2 | No |
responses.200.content.application/json.properties.has_more | Default changed: None -> False | No |
responses.200.content.application/json.properties.last_id | Type removed: ['string']; Nullable added (OpenAI non-nullable); Union variants added: 2 | No |
responses.200.content.application/json.properties.object | Enum removed: ['list']; Default changed: None -> list | No |
/conversations/{conversation_id}/items/{item_id}
DELETE
Missing Properties (2)
responses.200.content.application/json.properties.created_atresponses.200.content.application/json.properties.metadata
Schema Issues (1)
| Property | Issues | Tested |
|---|---|---|
responses.200.content.application/json.properties.object | Enum removed: ['conversation']; Default changed: conversation -> conversation.item.deleted | No |
GET
Missing Properties (1)
parameters.query.include
How to Improve Conformance
To improve conformance scores:
- Fix Schema Issues: Update Pydantic models in
src/llama_stack_api/to match OpenAI's schema - Add Missing Properties: Implement missing fields in response models
- Add Missing Endpoints: Implement endpoints listed in the Missing Endpoints section
Run the coverage analyzer to check your progress:
python scripts/openai_coverage.py --update
Then regenerate this documentation:
python scripts/generate_openai_coverage_docs.py