*** title: Reference Postman responses in scripts updated: 2025-11-04T00:00:00.000Z topictype: reference slug: docs/tests-and-scripts/write-scripts/postman-sandbox-reference/pm-response max-toc-depth: 2 ---------------- The `pm.response` object provides access to the data returned in the response for the current request. This object is only available in **Post-response** scripts. For more information, see the Postman Collection SDK [Response](https://www.postmanlabs.com/postman-collection/Response.html) reference. ## pm.response Use the `pm.response` methods in your scripts to access and manipulate responses. ### pm.response.text():Function Gets the response text string. ### pm.response.json():Function Gets the response JSON object, which you can use to get the properties received. ## pm.response properties The `pm.response` object contains the following properties: * `pm.response.code:Number` - The response status code. * `pm.response.status:String` - The status text string. * `pm.response.headers:HeaderList` - The [list of response headers](https://www.postmanlabs.com/postman-collection/HeaderList.html). * `pm.response.responseTime:Number` - The time the response took to receive in milliseconds. For requests with streaming methods, `responseTime` denotes the total duration for that request execution. * `pm.response.responseSize:Number`- The size of the response received. {/*TODO: I think .metadata .trailers .messages is gRPC only? */} * `pm.response.metadata` - The list of metadata received with the response. An individual metadata item is a [`PropertyList`](https://www.postmanlabs.com/postman-collection/PropertyList.html) object with the `key` and `value` properties. * `pm.response.trailers` - The list of trailers received with the response. An individual trailer item is a `PropertyList` object with the `key` and `value` properties. * `pm.response.messages` - The list of outgoing messages. {/* gRPC only? */} An individual message is a `PropertyList` object containing the following properties: * `data` - The contents of the received message. * `timestamp` - The time the message was received, represented as a `Date` object. For requests with unary and client streaming methods, `pm.response.messages` contains only one message at index `0`, which can be accessed as `pm.response.messages.idx(0)`. ## Validate response data with a JSON Schema The `jsonSchema` method enables you to [write a test assertion](/docs/tests-and-scripts/write-scripts/postman-sandbox-reference/pm-test-expect/#pmtest) that validates the response data with a JSON Schema. Postman uses version 6.12.5 of the [Ajv JSON Schema validator](https://www.npmjs.com/package/ajv/v/6.12.5) to validate response data with a JSON Schema. To write your test assertion, use the `pm.response` object and [Chai Assertion Library BDD](https://www.chaijs.com/api/bdd/) syntax to access the data returned in the response. The `jsonSchema` method accepts a JSON Schema as an object in the first argument. It also accepts an object of optional [Ajv options](https://www.npmjs.com/package/ajv/v/6.12.5#options) in the second argument: ```js pm.response..jsonSchema(schema, options); ``` You can define a JSON Schema in Postman, such as in the **Scripts** tab of a request. Then you can write a test that validates the properties in your response data against the defined JSON Schema. ### Examples In this example, the JSON Schema requires the response data to contain an `alpha` property that's a Boolean data type. If the response data is missing this property or it's a different data type, the test fails. This example uses BDD syntax `to.have` to express the assertion: ```js const schema = { "type": "object", "properties": { "alpha": { "type": "boolean" } }, "required": ["alpha"] }; pm.test('Response is valid', function() { pm.response.to.have.jsonSchema(schema); }); ```