# RequestScript > RequestScript is a small, strictly typed scripting language that you send to a server to run. - [Introduction](https://requestscript.mintlify.app/index.md): RequestScript is a small, strictly typed scripting language that you send to a server to run. - [Quickstart](https://requestscript.mintlify.app/quickstart.md): Run your first request script, then save and invoke a contract. - [Syntax](https://requestscript.mintlify.app/language/syntax.md): Comments, whitespace, identifiers, keywords and literals. - [Scripts and declarations](https://requestscript.mintlify.app/language/scripts.md): How a script is structured, and the difference between request and contract scripts. - [Types](https://requestscript.mintlify.app/language/types.md): The built-in types, null, and how numeric values are promoted. - [Variables](https://requestscript.mintlify.app/language/variables.md): Declare mutable and constant variables, infer their types and understand scope. - [Expressions](https://requestscript.mintlify.app/language/expressions.md): Literals, string interpolation, and reading object properties and list elements. - [Operators](https://requestscript.mintlify.app/language/operators.md): Logical, equality, comparison and arithmetic operators, and their precedence. - [Statements and control flow](https://requestscript.mintlify.app/language/control-flow.md): The statements a script body can contain, including if/else and return. - [Errors](https://requestscript.mintlify.app/language/errors.md): The kinds of errors a script can produce and how they're reported. - [Using resources](https://requestscript.mintlify.app/resources/overview.md): Bind a resource and call its functions with named arguments. - [Handling results](https://requestscript.mintlify.app/resources/results.md): Read return values and handle failures from resource function calls. - [Contracts](https://requestscript.mintlify.app/contracts/overview.md): Save named, versioned scripts on the server and invoke them with parameters. - [Versioning](https://requestscript.mintlify.app/contracts/versioning.md): Declare contract versions, publish changes as new versions and invoke a specific version. - [Invoking contracts](https://requestscript.mintlify.app/contracts/invoking.md): Call a saved contract over HTTP and pass its parameters as JSON. - [Managing contracts](https://requestscript.mintlify.app/contracts/managing.md): Save, list and delete contracts on the server. - [HTTP API](https://requestscript.mintlify.app/reference/http-api.md): Every endpoint for running scripts and managing contracts. - [JSON encoding](https://requestscript.mintlify.app/reference/json-encoding.md): How RequestScript values are converted to and from JSON. This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.