anchor.diff:        }
      ]
   }
  ---------------------------------------------------
  +----
   // TESTRESPONSE[s/"2017-05-04T22:30:03.187Z"/$body.docs.0.doc._ingest.timestamp/]
   // TESTRESPONSE[s/"2017-05-04T22:30:03.188Z"/$body.docs.1.doc._ingest.timestamp/]
   
  +
  +[[simulate-pipeline-api-request-body-ex]]
  +===== Specify a pipeline in the request body
  +
  +[source,console]
  +----
  +POST /_ingest/pipeline/_simulate
  +{
  +  "pipeline" :
  +  {
  +    "description": "_description",
  +    "processors": [
  +      {
  +        "set" : {
  +          "field" : "field2",
  +          "value" : "_value"
  +        }
  +      }
  +    ]
  +  },
  +  "docs": [
  +    {
  +      "_index": "index",
  +      "_id": "id",
  +      "_source": {
  +        "foo": "bar"
  +      }
  +    },
  +    {
  +      "_index": "index",
  +      "_id": "id",
  +      "_source": {
  +        "foo": "rab"
  +      }
  +    }
  +  ]
  +}
  +----
  +
  +The API returns the following response:
  +
  +[source,console-result]
  +----
  +{
  +   "docs": [
  +      {
  +         "doc": {
  +            "_id": "id",
  +            "_index": "index",
  +            "_type": "_doc",
  +            "_source": {
  +               "field2": "_value",
  +               "foo": "bar"
  +            },
  +            "_ingest": {
  +               "timestamp": "2017-05-04T22:30:03.187Z"
  +            }
  +         }
  +      },
  +      {
  +         "doc": {
  +            "_id": "id",
  +            "_index": "index",
  +            "_type": "_doc",
  +            "_source": {
  +               "field2": "_value",
  +               "foo": "rab"
  +            },
  +            "_ingest": {
  +               "timestamp": "2017-05-04T22:30:03.188Z"
  +            }
  +         }
  +      }
  +   ]
  +}
  +----
  +// TESTRESPONSE[s/"2017-05-04T22:30:03.187Z"/$body.docs.0.doc._ingest.timestamp/]
  +// TESTRESPONSE[s/"2017-05-04T22:30:03.188Z"/$body.docs.1.doc._ingest.timestamp/]
  +
  +
   [[ingest-verbose-param]]
  -==== Viewing Verbose Results
  -You can use the simulate pipeline API to see how each processor affects the ingest document
  -as it passes through the pipeline. To see the intermediate results of
  -each processor in the simulate request, you can add the `verbose` parameter
  -to the request.
  -
  -Here is an example of a verbose request and its response:
  -
  -[source,console]
  ---------------------------------------------------
  -POST _ingest/pipeline/_simulate?verbose
  +===== View verbose results
  +
  +You can use the simulate pipeline API
  +to see how each processor affects the ingest document
  +as it passes through the pipeline.
  +To see the intermediate results
  +of each processor in the simulate request,
  +you can add the `verbose` parameter to the request.
  +
  +[source,console]
  +----
  +POST /_ingest/pipeline/_simulate?verbose
   {
     "pipeline" :
     {
  
positive.code:       }
     ]
  }
  --------------------------------------------------
  // TESTRESPONSE[s/"2017-05-04T22:46:09.674Z"/$body.docs.0.processor_results.0.doc._ingest.timestamp/]
  // TESTRESPONSE[s/"2017-05-04T22:46:09.675Z"/$body.docs.0.processor_results.1.doc._ingest.timestamp/]
  // TESTRESPONSE[s/"2017-05-04T22:46:09.676Z"/$body.docs.1.processor_results.0.doc._ingest.timestamp/]
  // TESTRESPONSE[s/"2017-05-04T22:46:09.677Z"/$body.docs.1.processor_results.1.doc._ingest.timestamp/]
  
negative.code:         }
        }
      ]
  }
  ----
  // TESTSETUP
  ////
  
  [source,console]
  ----
  POST /_ingest/pipeline/my-pipeline-id/_simulate
  {
    "docs": [
      {
        "_index": "index",
  