{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/spicyapi/main/json-schema/spicyapi-response-object-schema.json",
  "title": "ResponseObject",
  "x-generated": "2026-10-09",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/spicyapi-openapi.yml#/components/schemas/ResponseObject",
  "type": "object",
  "required": [
    "id",
    "object",
    "created_at",
    "status",
    "model",
    "output"
  ],
  "properties": {
    "id": {
      "type": "string"
    },
    "object": {
      "type": "string",
      "const": "response"
    },
    "created_at": {
      "type": "integer"
    },
    "status": {
      "type": "string",
      "enum": [
        "completed",
        "incomplete",
        "in_progress"
      ]
    },
    "model": {
      "type": "string"
    },
    "output": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "id",
          "type",
          "status"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "message",
              "function_call"
            ]
          },
          "status": {
            "type": "string"
          },
          "role": {
            "type": "string"
          },
          "content": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "const": "output_text"
                },
                "text": {
                  "type": "string"
                },
                "annotations": {
                  "type": "array",
                  "items": {
                    "type": "object"
                  }
                }
              }
            }
          },
          "call_id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "arguments": {
            "type": "string"
          }
        }
      }
    },
    "error": {
      "type": "null"
    },
    "incomplete_details": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "reason": {
          "type": "string"
        }
      }
    },
    "usage": {
      "type": "object",
      "properties": {
        "input_tokens": {
          "type": "integer"
        },
        "output_tokens": {
          "type": "integer"
        },
        "total_tokens": {
          "type": "integer"
        }
      }
    }
  }
}