{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/amazon-cloudsearch/json-schema/amazon-cloudsearch-describe-index-fields-response-schema.json",
  "title": "DescribeIndexFieldsResponse",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/amazon-cloudsearch-index-fields-api-openapi.yml#/components/schemas/DescribeIndexFieldsResponse",
  "type": "object",
  "properties": {
    "IndexFields": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/IndexFieldStatus"
      },
      "description": "The index fields configured for the domain."
    }
  },
  "required": [
    "IndexFields"
  ],
  "$defs": {
    "DateArrayOptions": {
      "type": "object",
      "properties": {
        "DefaultValue": {
          "type": "string",
          "description": "A value to use for the field if the field isn't specified for a document."
        },
        "SourceFields": {
          "type": "string",
          "description": "A list of source fields to map to the field."
        },
        "FacetEnabled": {
          "type": "boolean",
          "description": "Whether facet information can be returned for the field."
        },
        "SearchEnabled": {
          "type": "boolean",
          "description": "Whether the contents of the field are searchable."
        },
        "ReturnEnabled": {
          "type": "boolean",
          "description": "Whether the contents of the field can be returned in the search results."
        }
      }
    },
    "DateOptions": {
      "type": "object",
      "properties": {
        "DefaultValue": {
          "type": "string",
          "description": "A value to use for the field if the field isn't specified for a document."
        },
        "SourceField": {
          "type": "string"
        },
        "FacetEnabled": {
          "type": "boolean",
          "description": "Whether facet information can be returned for the field."
        },
        "SearchEnabled": {
          "type": "boolean",
          "description": "Whether the contents of the field are searchable."
        },
        "ReturnEnabled": {
          "type": "boolean",
          "description": "Whether the contents of the field can be returned in the search results."
        },
        "SortEnabled": {
          "type": "boolean",
          "description": "Whether the field can be used to sort the search results."
        }
      }
    },
    "DoubleArrayOptions": {
      "type": "object",
      "properties": {
        "DefaultValue": {
          "type": "number",
          "description": "A value to use for the field if the field isn't specified for a document."
        },
        "SourceFields": {
          "type": "string",
          "description": "A list of source fields to map to the field."
        },
        "FacetEnabled": {
          "type": "boolean",
          "description": "Whether facet information can be returned for the field."
        },
        "SearchEnabled": {
          "type": "boolean",
          "description": "Whether the contents of the field are searchable."
        },
        "ReturnEnabled": {
          "type": "boolean",
          "description": "Whether the contents of the field can be returned in the search results."
        }
      }
    },
    "DoubleOptions": {
      "type": "object",
      "properties": {
        "DefaultValue": {
          "type": "number",
          "description": "A value to use for the field if the field isn't specified for a document. This can be important if you are using the field in an expression and that field is not present in every document."
        },
        "SourceField": {
          "type": "string",
          "description": "The name of the source field to map to the field."
        },
        "FacetEnabled": {
          "type": "boolean",
          "description": "Whether facet information can be returned for the field."
        },
        "SearchEnabled": {
          "type": "boolean",
          "description": "Whether the contents of the field are searchable."
        },
        "ReturnEnabled": {
          "type": "boolean",
          "description": "Whether the contents of the field can be returned in the search results."
        },
        "SortEnabled": {
          "type": "boolean",
          "description": "Whether the field can be used to sort the search results."
        }
      }
    },
    "IndexField": {
      "type": "object",
      "properties": {
        "IndexFieldName": {
          "type": "string",
          "description": "A string that represents the name of an index field. CloudSearch supports regular index fields as well as dynamic fields. A dynamic field's name defines a pattern that begins or ends with a wildcard. Any document fields that don't map to a regular index field but do match a dynamic field's pattern are configured with the dynamic field's indexing options. Regular field names begin with a letter and can contain the following characters: a-z (lowercase), 0-9, and _ (underscore). Dynamic field names must begin or end with a wildcard (*). The wildcard can also be the only character in a dynamic fie"
        },
        "IndexFieldType": {
          "type": "string",
          "enum": [
            "int",
            "double",
            "literal",
            "text",
            "date",
            "latlon",
            "int-array",
            "double-array",
            "literal-array",
            "text-array",
            "date-array"
          ]
        },
        "IntOptions": {
          "$ref": "#/$defs/IntOptions"
        },
        "DoubleOptions": {
          "$ref": "#/$defs/DoubleOptions"
        },
        "LiteralOptions": {
          "$ref": "#/$defs/LiteralOptions"
        },
        "TextOptions": {
          "$ref": "#/$defs/TextOptions"
        },
        "DateOptions": {
          "$ref": "#/$defs/DateOptions"
        },
        "LatLonOptions": {
          "$ref": "#/$defs/LatLonOptions"
        },
        "IntArrayOptions": {
          "$ref": "#/$defs/IntArrayOptions"
        },
        "DoubleArrayOptions": {
          "$ref": "#/$defs/DoubleArrayOptions"
        },
        "LiteralArrayOptions": {
          "$ref": "#/$defs/LiteralArrayOptions"
        },
        "TextArrayOptions": {
          "$ref": "#/$defs/TextArrayOptions"
        },
        "DateArrayOptions": {
          "$ref": "#/$defs/DateArrayOptions"
        }
      },
      "required": [
        "IndexFieldName",
        "IndexFieldType"
      ]
    },
    "IndexFieldStatus": {
      "type": "object",
      "properties": {
        "Options": {
          "$ref": "#/$defs/IndexField"
        },
        "Status": {
          "$ref": "#/$defs/OptionStatus"
        }
      },
      "required": [
        "Options",
        "Status"
      ]
    },
    "IntArrayOptions": {
      "type": "object",
      "properties": {
        "DefaultValue": {
          "type": "integer",
          "description": "A value to use for the field if the field isn't specified for a document."
        },
        "SourceFields": {
          "type": "string",
          "description": "A list of source fields to map to the field."
        },
        "FacetEnabled": {
          "type": "boolean",
          "description": "Whether facet information can be returned for the field."
        },
        "SearchEnabled": {
          "type": "boolean",
          "description": "Whether the contents of the field are searchable."
        },
        "ReturnEnabled": {
          "type": "boolean",
          "description": "Whether the contents of the field can be returned in the search results."
        }
      }
    },
    "IntOptions": {
      "type": "object",
      "properties": {
        "DefaultValue": {
          "type": "integer",
          "description": "A value to use for the field if the field isn't specified for a document. This can be important if you are using the field in an expression and that field is not present in every document."
        },
        "SourceField": {
          "type": "string",
          "description": "The name of the source field to map to the field."
        },
        "FacetEnabled": {
          "type": "boolean",
          "description": "Whether facet information can be returned for the field."
        },
        "SearchEnabled": {
          "type": "boolean",
          "description": "Whether the contents of the field are searchable."
        },
        "ReturnEnabled": {
          "type": "boolean",
          "description": "Whether the contents of the field can be returned in the search results."
        },
        "SortEnabled": {
          "type": "boolean",
          "description": "Whether the field can be used to sort the search results."
        }
      }
    },
    "LatLonOptions": {
      "type": "object",
      "properties": {
        "DefaultValue": {
          "type": "string",
          "description": "A value to use for the field if the field isn't specified for a document."
        },
        "SourceField": {
          "type": "string"
        },
        "FacetEnabled": {
          "type": "boolean",
          "description": "Whether facet information can be returned for the field."
        },
        "SearchEnabled": {
          "type": "boolean",
          "description": "Whether the contents of the field are searchable."
        },
        "ReturnEnabled": {
          "type": "boolean",
          "description": "Whether the contents of the field can be returned in the search results."
        },
        "SortEnabled": {
          "type": "boolean",
          "description": "Whether the field can be used to sort the search results."
        }
      }
    },
    "LiteralArrayOptions": {
      "type": "object",
      "properties": {
        "DefaultValue": {
          "type": "string",
          "description": "A value to use for the field if the field isn't specified for a document."
        },
        "SourceFields": {
          "type": "string",
          "description": "A list of source fields to map to the field."
        },
        "FacetEnabled": {
          "type": "boolean",
          "description": "Whether facet information can be returned for the field."
        },
        "SearchEnabled": {
          "type": "boolean",
          "description": "Whether the contents of the field are searchable."
        },
        "ReturnEnabled": {
          "type": "boolean",
          "description": "Whether the contents of the field can be returned in the search results."
        }
      }
    },
    "LiteralOptions": {
      "type": "object",
      "properties": {
        "DefaultValue": {
          "type": "string",
          "description": "A value to use for the field if the field isn't specified for a document."
        },
        "SourceField": {
          "type": "string"
        },
        "FacetEnabled": {
          "type": "boolean",
          "description": "Whether facet information can be returned for the field."
        },
        "SearchEnabled": {
          "type": "boolean",
          "description": "Whether the contents of the field are searchable."
        },
        "ReturnEnabled": {
          "type": "boolean",
          "description": "Whether the contents of the field can be returned in the search results."
        },
        "SortEnabled": {
          "type": "boolean",
          "description": "Whether the field can be used to sort the search results."
        }
      }
    },
    "OptionStatus": {
      "type": "object",
      "properties": {
        "CreationDate": {
          "type": "string",
          "format": "date-time",
          "description": "A timestamp for when this option was created."
        },
        "UpdateDate": {
          "type": "string",
          "format": "date-time",
          "description": "A timestamp for when this option was last updated."
        },
        "UpdateVersion": {
          "type": "integer",
          "description": "A unique integer that indicates when this option was last updated."
        },
        "State": {
          "type": "string",
          "enum": [
            "RequiresIndexDocuments",
            "Processing",
            "Active",
            "FailedToValidate"
          ],
          "description": "The state of processing a change to an option. Possible values: RequiresIndexDocuments: the option's latest value will not be deployed until IndexDocuments has been called and indexing is complete. Processing: the option's latest value is in the process of being activated. Active: the option's latest value is completely deployed. FailedToValidate: the option value is not compatible with the domain's data and cannot be used to index the data. You must either modify the option value or update or remove the incompatible documents."
        },
        "PendingDeletion": {
          "type": "boolean",
          "description": "Indicates that the option will be deleted once processing is complete."
        }
      },
      "required": [
        "CreationDate",
        "UpdateDate",
        "State"
      ]
    },
    "TextArrayOptions": {
      "type": "object",
      "properties": {
        "DefaultValue": {
          "type": "string",
          "description": "A value to use for the field if the field isn't specified for a document."
        },
        "SourceFields": {
          "type": "string",
          "description": "A list of source fields to map to the field."
        },
        "ReturnEnabled": {
          "type": "boolean",
          "description": "Whether the contents of the field can be returned in the search results."
        },
        "HighlightEnabled": {
          "type": "boolean",
          "description": "Whether highlights can be returned for the field."
        },
        "AnalysisScheme": {
          "type": "string",
          "description": "The name of an analysis scheme for a text-array field."
        }
      }
    },
    "TextOptions": {
      "type": "object",
      "properties": {
        "DefaultValue": {
          "type": "string",
          "description": "A value to use for the field if the field isn't specified for a document."
        },
        "SourceField": {
          "type": "string"
        },
        "ReturnEnabled": {
          "type": "boolean",
          "description": "Whether the contents of the field can be returned in the search results."
        },
        "SortEnabled": {
          "type": "boolean",
          "description": "Whether the field can be used to sort the search results."
        },
        "HighlightEnabled": {
          "type": "boolean",
          "description": "Whether highlights can be returned for the field."
        },
        "AnalysisScheme": {
          "type": "string",
          "description": "The name of an analysis scheme for a text field."
        }
      }
    }
  }
}