Following my understanding you have an error
When you do GET twitter/_settings?flat_settings=true
"index.provided_name" : "twitter" must be "provided_name" "twitter"
provided_name is Under settings NOT Under index.
See : https://www.elastic.co/guide/en/elasticsearch/reference/current/common-options.html
Flat Settings
The flat_settings flag affects rendering of the lists of settings. When flat_settings flag is true settings are returned in a flat format:
GET twitter/_settings?flat_settings=true
Returns:
{
"twitter" : {
"settings": {
"index.number_of_replicas": "1",
"index.number_of_shards": "1",
"index.creation_date": "1474389951325",
"index.uuid": "n6gzFZTgS664GUfx0Xrpjw",
"index.version.created": ...,
"index.provided_name" : "twitter"
}
}
}
When the flat_settings flag is false settings are returned in a more human readable structured format:
GET twitter/_settings?flat_settings=false
Returns:
{
"twitter" : {
"settings" : {
"index" : {
"number_of_replicas": "1",
"number_of_shards": "1",
"creation_date": "1474389951325",
"uuid": "n6gzFZTgS664GUfx0Xrpjw",
"version": {
"created": ...
},
"provided_name" : "twitter"
}
}
}
}
By default the flat_settings is set to false.