Hoppscotch lets you add dynamic behavior to REST API requests. This allows you to write test suites and build requests that can contain dynamic parameters. You can add ECMAScript code that executes based on events in the flow:
Pre-request scripts are executed before a request is sent to the server.
You can add multiple pre-request scripts to a request.
You can add pre-request scripts to both requests saved and not saved in a collection.
Hoppscotch will then execute the scripts along with the requests in the specified order.
Pre-request script is a piece of code that will run before the execution of the request.You can use the pre-request script for a pre-processing task such as:
Hoppscotch provides a special pw object containing various methods to create scripts and tests. The pw object is global and can be referenced by name to access methods.For example, to set an environment variable, you can use the pw.env.set() method.
Go to the pre-request script tab and copy-paste the above ECMAScript code as shown below:These variables can be accessed in the request section by referencing them in double angle brackets <<variable_name>>. So the URL will be <<baseURL>>/<<method>>.
Let us take a case where we need to test random test-user data available at an endpoint.Let us use the following GET API endpoint https://reqres.in/api/users/.Add <<randomValue>> to the endpoint URL.
https://reqres.in/api/users/<<randomValue>>
Now in the pre-request script tab add the following logic.
var random = Math.floor(Math.random() * 10);pw.env.set("randomValue", random.toString());
The ECMAScript code will assign a random number to the environment variable randomValue and the API will return a random user associated with the random value.You will get a similar response as shown below:
{ "data": { "id": 4, "email": "eve.holt@reqres.in", "first_name": "Eve", "last_name": "Holt", "avatar": "https://reqres.in/img/faces/4-image.jpg" }, "support": { "url": "https://reqres.in/#support-heading", "text": "To keep ReqRes free, contributions towards server costs are appreciated!" }}
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Hoppscotch Documentation","description":"Find user guides, quickstarts, tutorials, use cases, code samples, and more.","colors":{"primary":"#0D9373","light":"#07C983","dark":"#0D9373"},"logo":{"light":"https://mintcdn.com/hoppscotch/YzZ1u98z3f2mVgzZ/logo/light.svg?fit=max\u0026auto=format\u0026n=YzZ1u98z3f2mVgzZ\u0026q=85\u0026s=b61955a81bc00d70adfa5f8633848cd9","dark":"https://mintcdn.com/hoppscotch/YzZ1u98z3f2mVgzZ/logo/dark.svg?fit=max\u0026auto=format\u0026n=YzZ1u98z3f2mVgzZ\u0026q=85\u0026s=2630e96c15d9cdafd16ed468ce7e146d"},"favicon":"https://mintcdn.com/hoppscotch/YzZ1u98z3f2mVgzZ/favicon.svg?fit=max\u0026auto=format\u0026n=YzZ1u98z3f2mVgzZ\u0026q=85\u0026s=50976061e41b634209dc92da5209db5b","navbar":{"primary":{"type":"github","href":"https://github.com/hoppscotch/hoppscotch"}},"footer":{"socials":{"discord":"https://hoppscotch.io/discord","x":"https://hoppscotch.io/twitter","linkedin":"https://www.linkedin.com/company/hoppscotch"}},"search":{"prompt":"Search"},"styling":{"eyebrows":"breadcrumbs","latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"hoppscotch","hasAudioNarration":false,"actualSubdomain":"hoppscotch","customDomains":["docs.hoppscotch.io"],"gitSource":{"type":"github","owner":"hoppscotch","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"feedback":{"thumbs":true,"edits":true,"issues":true},"entitlements":{},"buildId":"6ae39a0ccbba577a6e0590e3","clientVersion":"0.0.4111","searchFilterCounts":[{"language":"default","tag":"Documentation","count":84},{"language":"default","tag":"Features","count":26},{"language":"default","tag":"Getting started","count":25},{"language":"default","tag":"Self-Host","count":20},{"language":"default","tag":"Enterprise Edition","count":12},{"language":"default","tag":"Support","count":12},{"language":"default","tag":"Resources","count":10},{"language":"default","tag":"RESTful API","count":10},{"language":"default","tag":"Guides","count":10},{"language":"default","tag":"Clients","count":9}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"documentation/getting-started/rest/pre-request-scripts","slug":"/documentation/getting-started/rest/pre-request-scripts","pageMetadata":{"sidebarTitle":"Pre-request scripts","title":"Pre-request scripts","description":"Add pre-request scripts in Hoppscotch to execute JavaScript before sending API requests. Set variables, generate tokens, and add logic.","href":"/documentation/getting-started/rest/pre-request-scripts"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Add pre-request scripts in Hoppscotch to execute JavaScript before sending API requests. Set variables, generate tokens, and add logic.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Tip}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`scripts`,children:`Scripts`}),`\n`,_jsxs(_components.p,{children:[`Hoppscotch lets you add dynamic behavior to REST API requests. This allows you to write test suites and build requests that can contain dynamic parameters. You can add `,_jsx(_components.a,{href:`https://tc39.es/ecma262`,children:`ECMAScript`}),` code that executes based on events in the flow:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Pre-request scripts are executed before a request is sent to the server.`}),`\n`,_jsx(_components.li,{children:`You can add multiple pre-request scripts to a request.`}),`\n`,_jsx(_components.li,{children:`You can add pre-request scripts to both requests saved and not saved in a collection.`}),`\n`]}),`\n`,_jsx(Tip,{children:`Hoppscotch will then execute the scripts along with the requests in the specified order.`}),`\n`,_jsx(Heading,{level:`2`,id:`pre-request-script`,children:`Pre-request script`}),`\n`,_jsx(_components.p,{children:`Pre-request script is a piece of code that will run before the execution of the request.`}),`\n`,_jsx(_components.p,{children:`You can use the pre-request script for a pre-processing task such as:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Setting parameters, headers.`}),`\n`,_jsx(_components.li,{children:`Adding body data.`}),`\n`,_jsx(_components.li,{children:`Adding variable values.`}),`\n`,_jsx(_components.li,{children:`Including timestamps in request headers.`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`writing-pre-request-scripts`,children:`Writing pre-request scripts`}),`\n`,_jsxs(_components.p,{children:[`Hoppscotch provides a special `,_jsx(_components.code,{children:`pw`}),` object containing various methods to create scripts and tests. The `,_jsx(_components.code,{children:`pw`}),` object is global and can be referenced by name to access methods.`]}),`\n`,_jsxs(_components.p,{children:[`For example, to set an environment variable, you can use the `,_jsx(_components.code,{children:`pw.env.set()`}),` method.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`javascript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`javascript`,children:_jsxs(_components.code,{language:`javascript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`pw`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`env`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`set`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"variable\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"value\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`examples`,children:`Examples`}),`\n`,_jsx(_components.p,{children:`Let us look at some examples of how you can use Hoppscotch to write pre-request scripts.`}),`\n`,_jsx(Heading,{level:`3`,id:`setting-environment-variables`,children:`Setting environment variables`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`pw.env.set()`}),` can be used directly for quick and convenient environment variable definition. It can be used to better organize request codes.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`javascript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`javascript`,children:_jsxs(_components.code,{language:`javascript`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`pw`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`env`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`set`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"baseURL\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://httpbin.org\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`pw`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`env`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`set`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"method\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"get\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`Go to the pre-request script tab and copy-paste the above `,_jsx(_components.a,{href:`https://tc39.es/ecma262`,children:`ECMAScript`}),` code as shown below:`]}),`\n`,_jsxs(_components.p,{children:[`These variables can be accessed in the request section by referencing them in double angle brackets `,_jsx(_components.code,{children:`\u003c\u003cvariable_name>>`}),`. So the URL will be `,_jsx(_components.code,{children:`\u003c\u003cbaseURL>>/\u003c\u003cmethod>>`}),`.`]}),`\n`,_jsx(Heading,{level:`3`,id:`generating-random-values-to-test-api`,children:`Generating random Values to test API`}),`\n`,_jsx(_components.p,{children:`Let us take a case where we need to test random test-user data available at an endpoint.`}),`\n`,_jsxs(_components.p,{children:[`Let us use the following GET API endpoint `,_jsx(_components.code,{children:`https://reqres.in/api/users/`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`Add `,_jsx(_components.code,{children:`\u003c\u003crandomValue>>`}),` to the endpoint URL.`]}),`\n`,_jsx(CodeBlock,{numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`https://reqres.in/api/users/\u003c\u003crandomValue>>`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(_components.p,{children:`Now in the pre-request script tab add the following logic.`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`javascript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`javascript`,children:_jsxs(_components.code,{language:`javascript`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`var`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` random`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` Math`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`floor`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Math`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`random`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`() `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`*`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 10`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`pw`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`env`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`set`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"randomValue\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`random`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`toString`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`());`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`The `,_jsx(_components.a,{href:`https://tc39.es/ecma262`,children:`ECMAScript`}),` code will assign a random number to the environment variable `,_jsx(_components.code,{children:`randomValue`}),` and the API will return a random user associated with the random value.`]}),`\n`,_jsx(_components.p,{children:`You will get a similar response as shown below:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`13`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`13`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"data\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`4`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"email\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"eve.holt@reqres.in\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"first_name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Eve\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"last_name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Holt\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"avatar\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://reqres.in/img/faces/4-image.jpg\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"support\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"url\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://reqres.in/#support-heading\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"text\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"To keep ReqRes free, contributions towards server costs are appreciated!\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"sidebarTitle":"Pre-request scripts","title":"Pre-request scripts","description":"Add pre-request scripts in Hoppscotch to execute JavaScript before sending API requests. Set variables, generate tokens, and add logic.","href":"/documentation/getting-started/rest/pre-request-scripts"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Scripts","slug":"scripts","depth":2,"children":[]},{"title":"Pre-request script","slug":"pre-request-script","depth":2,"children":[]},{"title":"Writing pre-request scripts","slug":"writing-pre-request-scripts","depth":2,"children":[]},{"title":"Examples","slug":"examples","depth":2,"children":[{"title":"Setting environment variables","slug":"setting-environment-variables","depth":3,"children":[]},{"title":"Generating random Values to test API","slug":"generating-random-values-to-test-api","depth":3,"children":[]}]}],"codeExamples":{}},"jsLinks":[],"subdomain":"hoppscotch","siteName":"Hoppscotch Documentation","title":"Pre-request scripts - Hoppscotch Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-04-11T04:39:27.760Z","originalFileLocation":"documentation/getting-started/rest/pre-request-scripts.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Add pre-request scripts in Hoppscotch to execute JavaScript before sending API requests. Set variables, generate tokens, and add logic.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Hoppscotch Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/hoppscotch/0ihOcYjw6krFrYtR/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/hoppscotch/0ihOcYjw6krFrYtR/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/hoppscotch/0ihOcYjw6krFrYtR/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/hoppscotch/0ihOcYjw6krFrYtR/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/hoppscotch/0ihOcYjw6krFrYtR/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/hoppscotch/0ihOcYjw6krFrYtR/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/hoppscotch/0ihOcYjw6krFrYtR/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/hoppscotch/0ihOcYjw6krFrYtR/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/hoppscotch/0ihOcYjw6krFrYtR/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Pre-request scripts - Hoppscotch Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Add pre-request scripts in Hoppscotch to execute JavaScript before sending API requests. Set variables, generate tokens, and add logic.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Hoppscotch Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.hoppscotch.io/documentation/getting-started/rest/pre-request-scripts\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://hoppscotch.mintlify.site/_mintlify/api/og/v2?division=RESTful+API\u0026amp;title=Pre-request+scripts\u0026amp;description=Add+pre-request+scripts+in+Hoppscotch+to+execute+JavaScript+before+sending+API+requests.+Set+variables%2C+generate+tokens%2C+and+add+logic.\u0026amp;theme=f3dcf37ce2e80e011ba0ae25\u0026amp;signature=84056780e94a4fa6b31a01727b03c123b97d9c302d46f6d7b97dcc04855a44be\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Pre-request scripts - Hoppscotch Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Add pre-request scripts in Hoppscotch to execute JavaScript before sending API requests. Set variables, generate tokens, and add logic.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://hoppscotch.mintlify.site/_mintlify/api/og/v2?division=RESTful+API\u0026amp;title=Pre-request+scripts\u0026amp;description=Add+pre-request+scripts+in+Hoppscotch+to+execute+JavaScript+before+sending+API+requests.+Set+variables%2C+generate+tokens%2C+and+add+logic.\u0026amp;theme=f3dcf37ce2e80e011ba0ae25\u0026amp;signature=84056780e94a4fa6b31a01727b03c123b97d9c302d46f6d7b97dcc04855a44be\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/hoppscotch/0ihOcYjw6krFrYtR/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Hoppscotch Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0D9373\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.hoppscotch.io/documentation/getting-started/rest/pre-request-scripts\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/documentation/getting-started/rest/pre-request-scripts.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.hoppscotch.io/#organization\",\"name\":\"Hoppscotch Documentation\",\"url\":\"https://docs.hoppscotch.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/hoppscotch/YzZ1u98z3f2mVgzZ/logo/light.svg?fit=max\u0026auto=format\u0026n=YzZ1u98z3f2mVgzZ\u0026q=85\u0026s=b61955a81bc00d70adfa5f8633848cd9\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.hoppscotch.io#website\",\"name\":\"Hoppscotch Documentation\",\"url\":\"https://docs.hoppscotch.io\",\"publisher\":{\"@id\":\"https://docs.hoppscotch.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.hoppscotch.io/documentation/getting-started/rest/pre-request-scripts#webpage\",\"url\":\"https://docs.hoppscotch.io/documentation/getting-started/rest/pre-request-scripts\",\"name\":\"Pre-request scripts\",\"description\":\"Add pre-request scripts in Hoppscotch to execute JavaScript before sending API requests. Set variables, generate tokens, and add logic.\",\"dateModified\":\"2026-04-11T04:39:27.760Z\",\"isPartOf\":{\"@id\":\"https://docs.hoppscotch.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.hoppscotch.io/documentation/getting-started/rest/pre-request-scripts#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.hoppscotch.io/documentation/getting-started/rest/pre-request-scripts#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Getting started\",\"item\":\"https://docs.hoppscotch.io/documentation/getting-started/introduction\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"RESTful API\",\"item\":\"https://docs.hoppscotch.io/documentation/getting-started/rest/creating-a-request\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Pre-request scripts\",\"item\":\"https://docs.hoppscotch.io/documentation/getting-started/rest/pre-request-scripts\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.hoppscotch.io/documentation/getting-started/rest/pre-request-scripts#article\",\"headline\":\"Pre-request scripts\",\"name\":\"Pre-request scripts\",\"description\":\"Add pre-request scripts in Hoppscotch to execute JavaScript before sending API requests. Set variables, generate tokens, and add logic.\",\"url\":\"https://docs.hoppscotch.io/documentation/getting-started/rest/pre-request-scripts\",\"mainEntityOfPage\":{\"@id\":\"https://docs.hoppscotch.io/documentation/getting-started/rest/pre-request-scripts#webpage\"},\"dateModified\":\"2026-04-11T04:39:27.760Z\",\"publisher\":{\"@id\":\"https://docs.hoppscotch.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.hoppscotch.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Hoppscotch Documentation\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Hoppscotch Documentation\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/documentation/getting-started/rest/pre-request-scripts.md","siteName":"Hoppscotch Documentation","nav":{"global":null,"anchors":[{"anchor":"Documentation","icon":"lines-leaning","groups":[{"group":"Getting started","pages":[{"sidebarTitle":"Introduction","title":"Introduction to Hoppscotch","href":"/documentation/getting-started/introduction"},{"sidebarTitle":"Quick start","title":"Quick start","href":"/documentation/getting-started/quick-start"},{"sidebarTitle":"Clients","title":"Hoppscotch Clients","href":"/documentation/getting-started/clients"},{"sidebarTitle":"Setup","title":"Setup Hoppscotch","href":"/documentation/getting-started/setup"},{"sidebarTitle":"Troubleshooting","title":"Troubleshooting","href":"/documentation/getting-started/troubleshooting"},{"group":"RESTful API","pages":[{"sidebarTitle":"Creating a request","title":"Creating a request","href":"/documentation/getting-started/rest/creating-a-request"},{"sidebarTitle":"Response handling","title":"Response handling","href":"/documentation/getting-started/rest/response-handling"},{"sidebarTitle":"Request parameters","title":"Request parameters","href":"/documentation/getting-started/rest/request-parameters"},{"sidebarTitle":"Request headers","title":"Request headers","href":"/documentation/getting-started/rest/request-headers"},{"sidebarTitle":"Organizing requests","title":"Organizing requests","href":"/documentation/getting-started/rest/organizing-requests"},{"sidebarTitle":"Environment variables","title":"Environment variables","href":"/documentation/getting-started/rest/environment-variables"},{"sidebarTitle":"Using auth tokens","title":"Using auth tokens","href":"/documentation/getting-started/rest/auth-tokens"},{"sidebarTitle":"Uploading data","title":"Uploading data","description":"Upload files and encoded data to APIs in Hoppscotch using POST or PUT methods with multipart form data, JSON, or binary content types.","href":"/documentation/getting-started/rest/uploading-data"},{"sidebarTitle":"Pre-request scripts","title":"Pre-request scripts","href":"/documentation/getting-started/rest/pre-request-scripts"},{"sidebarTitle":"Tests","title":"Tests","description":"Write and run post-request test scripts to validate API responses, check status codes, and verify data. Add tests to saved or unsaved requests.","href":"/documentation/getting-started/rest/tests"}]},{"group":"GraphQL API","pages":[{"sidebarTitle":"Running a simple query","title":"Running a simple query","href":"/documentation/getting-started/graphql/creating-a-query"},{"sidebarTitle":"Using variables","title":"Using variables in a GraphQL query","href":"/documentation/getting-started/graphql/using-variables"}]},{"group":"Realtime API","pages":[{"sidebarTitle":"Websocket","title":"Websocket","href":"/documentation/getting-started/realtime/websocket"},{"sidebarTitle":"Socket.IO","title":"Socket.IO","href":"/documentation/getting-started/realtime/socket-io"},{"sidebarTitle":"SSE","title":"Server-Sent Events","href":"/documentation/getting-started/realtime/sse"},{"sidebarTitle":"MQTT","title":"MQTT","href":"/documentation/getting-started/realtime/mqtt"}]}]},{"group":"Clients","pages":[{"group":"Desktop","pages":[{"sidebarTitle":"Overview","title":"Hoppscotch Desktop App","href":"/documentation/clients/desktop/overview"},{"sidebarTitle":"Setup","title":"Connect to Hoppscotch","href":"/documentation/clients/desktop/setup"}]},{"group":"Web","pages":[{"sidebarTitle":"Overview","title":"Hoppscotch Web App","href":"/documentation/clients/web/overview"},{"sidebarTitle":"Progressive Web App","title":"Hoppscotch Progressive Web App","href":"/documentation/clients/web/pwa"}]},{"group":"CLI","pages":[{"sidebarTitle":"Overview","title":"Hoppscotch CLI","href":"/documentation/clients/cli/overview"},{"sidebarTitle":"Troubleshooting","title":"Hoppscotch CLI Troubleshooting","href":"/documentation/clients/cli/troubleshooting"}]},{"group":"MCP server","pages":[{"sidebarTitle":"Overview","title":"Hoppscotch MCP Server","href":"/documentation/clients/mcp-server/overview"},{"sidebarTitle":"Tools","title":"Hoppscotch MCP Server Tools","href":"/documentation/clients/mcp-server/tools"},{"sidebarTitle":"Troubleshooting","title":"Hoppscotch MCP Server Troubleshooting","href":"/documentation/clients/mcp-server/troubleshooting"}]}]},{"group":"Protocols","pages":[{"sidebarTitle":"RESTful","title":"RESTful","href":"/documentation/protocols/rest"},{"sidebarTitle":"GraphQL","title":"GraphQL","href":"/documentation/protocols/graphql"},{"sidebarTitle":"Realtime","title":"Realtime","href":"/documentation/protocols/realtime"}]},{"group":"Features","pages":[{"sidebarTitle":"Workspaces","title":"Workspaces","href":"/documentation/features/workspaces"},{"sidebarTitle":"Collections","title":"Collections","href":"/documentation/features/collections"},{"sidebarTitle":"Runner","title":"Runner","href":"/documentation/features/runner"},{"sidebarTitle":"Variables","title":"Variables","href":"/documentation/features/variables"},{"sidebarTitle":"Environments","title":"Environments","href":"/documentation/features/environments"},{"sidebarTitle":"Personal Access Token","title":"Personal Access Token","href":"/documentation/features/pat"},{"sidebarTitle":"History","title":"History","href":"/documentation/features/history"},{"sidebarTitle":"Spotlight","title":"Spotlight","href":"/documentation/features/spotlight"},{"sidebarTitle":"Shortcuts","title":"Shortcuts","href":"/documentation/features/shortcuts"},{"sidebarTitle":"Scripts","title":"Scripts","href":"/documentation/features/scripts"},{"sidebarTitle":"Importer","title":"Importer","href":"/documentation/features/importer"},{"sidebarTitle":"Customization","title":"Customization","href":"/documentation/features/customization"},{"sidebarTitle":"Inspections","title":"Inspections","href":"/documentation/features/inspections"},{"sidebarTitle":"Cookies","title":"Cookies","href":"/documentation/features/cookies"},{"sidebarTitle":"Client Certificate","title":"Client Certificate","href":"/documentation/features/client-certificate"},{"sidebarTitle":"Code Snippets","title":"Code Snippets","href":"/documentation/features/snippets"},{"sidebarTitle":"Interceptor","title":"Interceptor","href":"/documentation/features/interceptor"},{"sidebarTitle":"Context Menu","title":"Context Menu","href":"/documentation/features/context-menu"},{"sidebarTitle":"Widgets","title":"Widgets","href":"/documentation/features/widgets"},{"sidebarTitle":"Authorization","title":"Authorization","href":"/documentation/features/authorization"},{"sidebarTitle":"AI Features","title":"AI Features","href":"/documentation/features/ai-features"},{"sidebarTitle":"Mock","title":"API Mocking","href":"/documentation/features/mock"},{"sidebarTitle":"Documentation","title":"API Documentation","href":"/documentation/features/documentation"},{"sidebarTitle":"RESTful API","title":"RESTful API Testing","href":"/documentation/features/rest-api-testing"},{"sidebarTitle":"GraphQL API","title":"GraphQL API Testing","href":"/documentation/features/graphql-api-testing"},{"sidebarTitle":"Realtime API","title":"Realtime API Testing","href":"/documentation/features/realtime-api-testing"}]},{"group":"Self-Host","pages":[{"sidebarTitle":"Getting started","title":"Getting started with self-hosting","href":"/documentation/self-host/getting-started"},{"group":"Community Edition","pages":[{"sidebarTitle":"Getting started","title":"Getting started with Community Edition","href":"/documentation/self-host/community-edition/getting-started"},{"sidebarTitle":"Prerequisites","title":"Community Edition prerequisites","href":"/documentation/self-host/community-edition/prerequisites"},{"sidebarTitle":"Install and build","title":"Install and build Community Edition","href":"/documentation/self-host/community-edition/install-and-build"},{"sidebarTitle":"Setup and access","title":"Set up and access Community Edition","href":"/documentation/self-host/community-edition/setup-and-access"},{"sidebarTitle":"Admin dashboard","title":"Community Edition admin dashboard","href":"/documentation/self-host/community-edition/admin-dashboard"},{"sidebarTitle":"Deploy and upgrade","title":"Deploy and upgrade Community Edition","href":"/documentation/self-host/community-edition/deploy-and-upgrade"},{"sidebarTitle":"Telemetry","title":"Community Edition telemetry","href":"/documentation/self-host/community-edition/telemetry"}]},{"group":"Enterprise Edition","pages":[{"sidebarTitle":"Getting started","title":"Getting started with Enterprise Edition","href":"/documentation/self-host/enterprise-edition/getting-started"},{"sidebarTitle":"Prerequisites","title":"Enterprise Edition prerequisites","href":"/documentation/self-host/enterprise-edition/prerequisites"},{"sidebarTitle":"Install and build","title":"Install and build Enterprise Edition","href":"/documentation/self-host/enterprise-edition/install-and-build"},{"sidebarTitle":"Setup and access","title":"Set up and access Enterprise Edition","href":"/documentation/self-host/enterprise-edition/setup-and-access"},{"sidebarTitle":"Admin dashboard","title":"Enterprise Edition admin dashboard","href":"/documentation/self-host/enterprise-edition/admin-dashboard"},{"sidebarTitle":"User provisioning","title":"SCIM Integration for User and Group Provisioning","href":"/documentation/self-host/enterprise-edition/user-provisioning"},{"sidebarTitle":"Activity logs","title":"Activity logs","href":"/documentation/self-host/enterprise-edition/activity-logs"},{"sidebarTitle":"User groups","title":"User groups","href":"/documentation/self-host/enterprise-edition/user-groups"},{"sidebarTitle":"AI Assistant","title":"AI Assistant","href":"/documentation/self-host/enterprise-edition/ai-assistant"},{"sidebarTitle":"Observability","title":"Observability","href":"/documentation/self-host/enterprise-edition/observability"},{"sidebarTitle":"Deploy and upgrade","title":"Deploy and upgrade Enterprise Edition","href":"/documentation/self-host/enterprise-edition/deploy-and-upgrade"},{"sidebarTitle":"Telemetry","title":"Enterprise Edition telemetry","href":"/documentation/self-host/enterprise-edition/telemetry"}]}]},{"group":"Resources","pages":[{"sidebarTitle":"Community","title":"Hoppscotch community","href":"/documentation/community"},{"sidebarTitle":"Contributors","title":"Contributors","href":"/documentation/contributors"},{"sidebarTitle":"Changelog","title":"Changelog","href":"/documentation/changelog"},{"sidebarTitle":"Develop","title":"Develop","href":"/documentation/develop"},{"sidebarTitle":"i18n","title":"i18n","href":"/documentation/i18n"}]}]},{"anchor":"Guides","icon":"check-double","pages":[{"title":"Guides","href":"/guides/getting-started/introduction"}]},{"anchor":"Support","icon":"question","pages":[{"title":"Support","href":"/support/getting-started/introduction"}]},{"anchor":"Download","icon":"angles-down","href":"https://hoppscotch.com/download"},{"anchor":"Blog","icon":"quote-left","href":"https://hoppscotch.com/blog"},{"anchor":"Changelog","icon":"shapes","href":"https://github.com/hoppscotch/hoppscotch/releases"}]},"basePath":"","title":"Pre-request scripts - Hoppscotch Documentation","buildId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","deploymentId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","dynamics":[],"chunks":[]}