After scripts run once Postchi receives a response. They’re the right place to capture tokens, IDs, or any other value you want to reuse in later requests.
File naming
Place a file named <request-name>.after.js next to your request file:
For a script that applies to every request in a folder, create after.js in that folder:
The request-level <name>.after.js runs first, then the folder-level after.js. Both scripts can call setEnvironmentVariable and setSecret — all mutations from both are applied together.
Available context
Postchi injects these variables into every after script:
| Variable | Type | Description |
|---|
request | object | The final request that was sent (method, url, headers, body). |
response | object | The response received. |
env | object | All active environment variables as string key-value pairs. Read-only. |
fetch | function | The global fetch function. |
setEnvironmentVariable(key, value) | function | Saves a variable to the active environment in environments.cenv. |
setSecret(key, value) | function | Saves a secret to the active environment in secrets.cenv. |
The response object
| Property | Type | Description |
|---|
response.status | number | HTTP status code, e.g. 200 |
response.headers | object | Response headers as { name: value } pairs |
response.body | string | null | Response body as a string, or null |
Examples
Capture an auth token
Save a refresh token as a secret
Log response details for debugging
Notes
If an after script throws an error, Postchi shows the error message in the response view but still displays the response. Your mutations up to the point of the error are not applied.
Use a folder-level after.js to log or assert a common shape across all responses in a folder — useful for catching unexpected errors during development.