GET

/v1/schemas/cloudflare-workers-ai/chat/accounts/{account_id}/ai/run/@cf/openai/gpt-oss-20b

kind inputactivity chathash d3ee3bdf…extracted Oct 7, 2026version currentsource upstream spec ↗
fieldrecorded source
schemaSource linked above.

upstream-spec

Source trace
5d482865ea9ff6280473f50140eac3b526b0537baeed7e4fd47b32caafc7d859
{
  "fetchedAt": 1791349950,
  "extractorVersion": "1",
  "verifiedAt": null
}

Request body

0 properties · 0 required · 0 $defs

This schema isn’t a plain object with properties — showing the raw JSON instead.

application/json
{
  "provider": "cloudflare-workers-ai",
  "activity": "chat",
  "endpointId": "accounts/{account_id}/ai/run/@cf/openai/gpt-oss-20b",
  "kind": "input",
  "contentHash": "d3ee3bdf0f7ba9465b8e6d28a2ca01e64d2d445cb68a77a3a1afe9c18cfac40f",
  "specRevision": null,
  "provenance": {
    "sourceUrl": "https://raw.githubusercontent.com/cloudflare/cloudflare-docs/production/src/content/workers-ai-models/gpt-oss-20b.json",
    "sourceHash": "5d482865ea9ff6280473f50140eac3b526b0537baeed7e4fd47b32caafc7d859",
    "fetchedAt": 1791349950,
    "extractorVersion": "1",
    "derivation": "upstream-spec",
    "verifiedAt": null
  },
  "createdAt": 1791349950,
  "supersededAt": null,
  "schema": {
    "oneOf": [
      {
        "type": "object",
        "oneOf": [
          {
            "title": "Prompt",
            "properties": {
              "prompt": {
                "type": "string",
                "minLength": 1,
                "description": "The input text prompt for the model to generate a response."
              },
              "lora": {
                "type": "string",
                "description": "Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model."
              },
              "response_format": {
                "title": "JSON Mode",
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "json_object",
                      "json_schema"
                    ]
                  },
                  "json_schema": {}
                }
              },
              "raw": {
                "type": "boolean",
                "default": false,
                "description": "If true, a chat template is not applied and you must adhere to the specific model's expected formatting."
              },
              "stream": {
                "type": "boolean",
                "default": false,
                "description": "If true, the response will be streamed back incrementally using SSE, Server Sent Events."
              },
              "max_tokens": {
                "type": "integer",
                "default": 256,
                "description": "The maximum number of tokens to generate in the response."
              },
              "temperature": {
                "type": "number",
                "default": 0.6,
                "minimum": 0,
                "maximum": 5,
                "description": "Controls the randomness of the output; higher values produce more random results."
              },
              "top_p": {
                "type": "number",
                "minimum": 0.001,
                "maximum": 1,
                "description": "Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses."
              },
              "top_k": {
                "type": "integer",
                "minimum": 1,
                "maximum": 50,
                "description": "Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises."
              },
              "seed": {
                "type": "integer",
                "minimum": 1,
                "maximum": 9999999999,
                "description": "Random seed for reproducibility of the generation."
              },
              "repetition_penalty": {
                "type": "number",
                "minimum": 0,
                "maximum": 2,
                "description": "Penalty for repeated tokens; higher values discourage repetition."
              },
              "frequency_penalty": {
                "type": "number",
                "minimum": -2,
                "maximum": 2,
                "description": "Decreases the likelihood of the model repeating the same lines verbatim."
              },
              "presence_penalty": {
                "type": "number",
                "minimum": -2,
                "maximum": 2,
                "description": "Increases the likelihood of the model introducing new topics."
              }
            },
            "required": [
              "prompt"
            ]
          },
          {
            "title": "Messages",
            "properties": {
              "messages": {
                "type": "array",
                "description": "An array of message objects representing the conversation history.",
                "items": {
                  "type": "object",
                  "properties": {
                    "role": {
                      "type": "string",
                      "description": "The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool')."
                    },
                    "content": {
                      "oneOf": [
                        {
                          "type": "string",
                          "description": "The content of the message as a string."
                        },
                        {
                          "type": "array",
                          "description": "Array of text content parts.",
                          "items": {
                            "type": "object",
                            "properties": {
                              "type": {
                                "type": "string",
                                "description": "Type of the content (text)"
                              },
                              "text": {
                                "type": "string",
                                "description": "Text content"
                              }
                            }
                          }
                        }
                      ]
                    }
                  },
                  "required": [
                    "role",
                    "content"
                  ]
                }
              },
              "functions": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string"
                    },
                    "code": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "name",
                    "code"
                  ]
                }
              },
              "tools": {
                "type": "array",
                "description": "A list of tools available for the assistant to use.",
                "items": {
                  "type": "object",
                  "oneOf": [
                    {
                      "properties": {
                        "name": {
                          "type": "string",
                          "description": "The name of the tool. More descriptive the better."
                        },
                        "description": {
                          "type": "string",
                          "description": "A brief description of what the tool does."
                        },
                        "parameters": {
                          "type": "object",
                          "description": "Schema defining the parameters accepted by the tool.",
                          "properties": {
                            "type": {
                              "type": "string",
                              "description": "The type of the parameters object (usually 'object')."
                            },
                            "required": {
                              "type": "array",
                              "description": "List of required parameter names.",
                              "items": {
                                "type": "string"
                              }
                            },
                            "properties": {
                              "type": "object",
                              "description": "Definitions of each parameter.",
                              "additionalProperties": {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string",
                                    "description": "The data type of the parameter."
                                  },
                                  "description": {
                                    "type": "string",
                                    "description": "A description of the expected parameter."
                                  }
                                },
                                "required": [
                                  "type",
                                  "description"
                                ]
                              }
                            }
                          },
                          "required": [
                            "type",
                            "properties"
                          ]
                        }
                      },
                      "required": [
                        "name",
                        "description",
                        "parameters"
                      ]
                    },
                    {
                      "properties": {
                        "type": {
                          "type": "string",
                          "description": "Specifies the type of tool (e.g., 'function')."
                        },
                        "function": {
                          "type": "object",
                          "description": "Details of the function tool.",
                          "properties": {
                            "name": {
                              "type": "string",
                              "description": "The name of the function."
                            },
                            "description": {
                              "type": "string",
                              "description": "A brief description of what the function does."
                            },
                            "parameters": {
                              "type": "object",
                              "description": "Schema defining the parameters accepted by the function.",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "description": "The type of the parameters object (usually 'object')."
                                },
                                "required": {
                                  "type": "array",
                                  "description": "List of required parameter names.",
                                  "items": {
                                    "type": "string"
                                  }
                                },
                                "properties": {
                                  "type": "object",
                                  "description": "Definitions of each parameter.",
                                  "additionalProperties": {
                                    "type": "object",
                                    "properties": {
                                      "type": {
                                        "type": "string",
                                        "description": "The data type of the parameter."
                                      },
                                      "description": {
                                        "type": "string",
                                        "description": "A description of the expected parameter."
                                      }
                                    },
                                    "required": [
                                      "type",
                                      "description"
                                    ]
                                  }
                                }
                              },
                              "required": [
                                "type",
                                "properties"
                              ]
                            }
                          },
                          "required": [
                            "name",
                            "description",
                            "parameters"
                          ]
                        }
                      },
                      "required": [
                        "type",
                        "function"
                      ]
                    }
                  ]
                }
              },
              "response_format": {
                "title": "JSON Mode",
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "json_object",
                      "json_schema"
                    ]
                  },
                  "json_schema": {}
                }
              },
              "raw": {
                "type": "boolean",
                "default": false,
                "description": "If true, a chat template is not applied and you must adhere to the specific model's expected formatting."
              },
              "stream": {
                "type": "boolean",
                "default": false,
                "description": "If true, the response will be streamed back incrementally using SSE, Server Sent Events."
              },
              "max_tokens": {
                "type": "integer",
                "default": 256,
                "description": "The maximum number of tokens to generate in the response."
              },
              "temperature": {
                "type": "number",
                "default": 0.6,
                "minimum": 0,
                "maximum": 5,
                "description": "Controls the randomness of the output; higher values produce more random results."
              },
              "top_p": {
                "type": "number",
                "minimum": 0.001,
                "maximum": 1,
                "description": "Adjusts the creativity of the AI's responses by controlling how many possible words it considers. Lower values make outputs more predictable; higher values allow for more varied and creative responses."
              },
              "top_k": {
                "type": "integer",
                "minimum": 1,
                "maximum": 50,
                "description": "Limits the AI to choose from the top 'k' most probable words. Lower values make responses more focused; higher values introduce more variety and potential surprises."
              },
              "seed": {
                "type": "integer",
                "minimum": 1,
                "maximum": 9999999999,
                "description": "Random seed for reproducibility of the generation."
              },
              "repetition_penalty": {
                "type": "number",
                "minimum": 0,
                "maximum": 2,
                "description": "Penalty for repeated tokens; higher values discourage repetition."
              },
              "frequency_penalty": {
                "type": "number",
                "minimum": -2,
                "maximum": 2,
                "description": "Decreases the likelihood of the model repeating the same lines verbatim."
              },
              "presence_penalty": {
                "type": "number",
                "minimum": -2,
                "maximum": 2,
                "description": "Increases the likelihood of the model introducing new topics."
              }
            },
            "required": [
              "messages"
            ]
          }
        ]
      },
      {
        "type": "object",
        "title": "Responses",
        "properties": {
          "input": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "items": {},
                "type": "array"
              }
            ],
            "description": "Responses API Input messages. Refer to OpenAI Responses API docs to learn more about supported content types"
          },
          "reasoning": {
            "type": "object",
            "properties": {
              "effort": {
                "type": "string",
                "enum": [
                  "low",
                  "medium",
                  "high"
                ],
                "description": "Reasoning effort. Supported levels: low, medium, high. Reasoning cannot be disabled.",
                "default": "medium"
              },
              "summary": {
                "type": "string",
                "description": "A summary of the reasoning performed by the model. This can be useful for debugging and understanding the model's reasoning process. One of auto, concise, or detailed.",
                "enum": [
                  "auto",
                  "concise",
                  "detailed"
                ]
              }
            }
          }
        },
        "required": [
          "input"
        ]
      },
      {
        "type": "object",
        "title": "Responses_Async",
        "properties": {
          "requests": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "input": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "items": {},
                      "type": "array"
                    }
                  ],
                  "description": "Responses API Input messages. Refer to OpenAI Responses API docs to learn more about supported content types"
                },
                "reasoning": {
                  "type": "object",
                  "properties": {
                    "effort": {
                      "type": "string",
                      "enum": [
                        "low",
                        "medium",
                        "high"
                      ],
                      "description": "Reasoning effort. Supported levels: low, medium, high. Reasoning cannot be disabled.",
                      "default": "medium"
                    },
                    "summary": {
                      "type": "string",
                      "description": "A summary of the reasoning performed by the model. This can be useful for debugging and understanding the model's reasoning process. One of auto, concise, or detailed.",
                      "enum": [
                        "auto",
                        "concise",
                        "detailed"
                      ]
                    }
                  }
                }
              },
              "required": [
                "input"
              ]
            }
          }
        },
        "required": [
          "requests"
        ]
      }
    ]
  }
}

Validate a payload

before you spend tokens
shell
$ curl -X POST https://modelschemas.com/v1/validate \
    -d '{"provider":"cloudflare-workers-ai","endpointId":"accounts/{account_id}/ai/run/@cf/openai/gpt-oss-20b","payload":{…}}'
→ {"valid": false, "errors": [{"path": "#", "keyword": "required", …}]}