{

  "components": {
    "schemas": {
      "request": {
        "post": {
          "type": "object",
          "xml": { "name": "/" },
          "properties": {
            "solution": {
              "type": "object",
              "required": ["name"],
              "properties": { "$ref": "solution.json#/components/schemas/request_properties" }
            }
          }
        },
        "put": {
          "type": "object",
          "xml": { "name": "/" },
          "properties": {
            "solution": {
              "type": "object",
              "properties": { "$ref": "solution.json#/components/schemas/request_properties" }
            }
          }
        }
      },
      "request_properties": {
        "name": { "type": "string", "example": "Solution Name" },
        "site_id": { "$ref": "../../components.json#/components/common/schemas/association_by_id" },
        "department_id": { "$ref": "../../components.json#/components/common/schemas/association_by_id" },
        "description": { "$ref": "../../components.json#/components/common/schemas/string_or_null" },
        "state": { "type": "string", "example": "Approved" },
        "category": { "$ref": "../../components.json#/components/request/schemas/association_by_name" },
        "subcategory": { "$ref": "../../components.json#/components/request/schemas/association_by_name" },
        "add_to_tag_list": { "type": "string", "example": "tag1, tag2" },
        "remove_from_tag_list": { "type": "string", "example": "tag3" },
        "tag_list": { "type": "string", "example": "tag1, tag2" },
        "custom_fields_values": { "$ref": "../../components.json#/components/request/schemas/custom_fields_values" },
        "custom_fields_values_attributes": { "$ref": "../../components.json#/components/request/schemas/custom_fields_values_attributes" },
        "incident_ids": { "$ref": "../../components.json#/components/common/schemas/ids_array" }
      },
      "response": {
        "type": "object",
        "xml": { "name": "/", "wrapped": true },
        "properties": {
          "solution": {
            "type": "object",
            "properties": {
              "id": { "$ref": "../../components.json#/components/response/schemas/id" },
              "name": { "type": "string", "example": "Solution Name" },
              "description": { "type": "string", "example": "description" },
              "creator": { "$ref": "../../components.json#/components/response/schemas/creator" },
              "created_at": { "type": "string", "example": "2025-01-01T00:00:00.000+01:00" },
              "origin": { "type": "string", "example": "api" }
            }
          }
        }
      }
    }
  }
}