<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Getting Started on Restish</title><link>https://rest.sh/docs/getting-started/</link><description>Recent content in Getting Started on Restish</description><generator>Hugo</generator><language>en-US</language><atom:link href="https://rest.sh/docs/getting-started/index.xml" rel="self" type="application/rss+xml"/><item><title>Tour of Restish</title><link>https://rest.sh/docs/getting-started/tour/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rest.sh/docs/getting-started/tour/</guid><description>&lt;p&gt;This tour shows the shape of Restish before you commit to a local setup. You
can run the examples in your browser against the live docs API at
&lt;code&gt;https://api.rest.sh&lt;/code&gt;, edit the commands, and then use the same commands in a
terminal after installing Restish.&lt;/p&gt;
&lt;p&gt;Restish is an API-aware HTTP CLI. It works as a direct request tool when you
have only a URL, and it can also learn an API from OpenAPI so repeated work gets
generated commands, auth, profiles, completions, filtering, pagination, and
output formats.&lt;/p&gt;</description></item><item><title>Install</title><link>https://rest.sh/docs/getting-started/install/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rest.sh/docs/getting-started/install/</guid><description>&lt;p&gt;This page documents the Restish v2 install path. Homebrew is the recommended
managed install path for most macOS users. Build from source when you are
developing Restish itself or testing changes before they are released.&lt;/p&gt;
&lt;p&gt;Always verify the major version after installation:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;restish --version
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="homebrew"&gt;Homebrew&lt;/h2&gt;
&lt;p&gt;Use Homebrew for the easiest managed install on macOS:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;brew install rest-sh/tap/restish
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;restish --version
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The tap also keeps a legacy &lt;code&gt;restish@1&lt;/code&gt; formula available for users who
intentionally stay on v1 during migration.&lt;/p&gt;</description></item><item><title>Shell Setup</title><link>https://rest.sh/docs/getting-started/shell-setup/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rest.sh/docs/getting-started/shell-setup/</guid><description>&lt;p&gt;Restish uses characters that shells also care about: &lt;code&gt;?&lt;/code&gt;, &lt;code&gt;&amp;amp;&lt;/code&gt;, &lt;code&gt;[&lt;/code&gt;, &lt;code&gt;]&lt;/code&gt;, &lt;code&gt;*&lt;/code&gt;,
quotes, and spaces. Shell setup prevents the shell from rewriting request URLs,
query strings, filters, and shorthand before Restish can parse them.&lt;/p&gt;
&lt;h2 id="configure-the-wrapper"&gt;Configure The Wrapper&lt;/h2&gt;
&lt;p&gt;Run the setup command for your shell:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;restish shell setup zsh
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;restish shell setup bash
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;restish shell setup fish
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;For zsh and fish, setup installs completion by default. Opt out when you only
want the wrapper:&lt;/p&gt;</description></item><item><title>Connect to an API</title><link>https://rest.sh/docs/getting-started/connect-to-an-api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rest.sh/docs/getting-started/connect-to-an-api/</guid><description>&lt;p&gt;Use generic URL requests for exploration. Register an API when you want named
commands, generated help, shell completion, profiles, and auth tied to a stable
short name.&lt;/p&gt;
&lt;h2 id="register-the-example-api"&gt;Register The Example API&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;restish api connect example api.rest.sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Restish discovers &lt;code&gt;https://api.rest.sh/openapi.json&lt;/code&gt;, stores the API config,
and caches the spec so generated commands are available quickly.&lt;/p&gt;
&lt;p&gt;The API name becomes a command group. Use a name that starts with a Unicode
letter or number and then uses only letters, numbers, combining marks, &lt;code&gt;-&lt;/code&gt;, or
&lt;code&gt;_&lt;/code&gt;. Names cannot collide with built-in commands such as &lt;code&gt;api&lt;/code&gt;, &lt;code&gt;get&lt;/code&gt;, or
&lt;code&gt;post&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Upgrade From v1</title><link>https://rest.sh/docs/getting-started/upgrade-from-v1/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rest.sh/docs/getting-started/upgrade-from-v1/</guid><description>&lt;p&gt;This page is the shortest path for existing Restish v1 users who want to know
what changed, what is preserved automatically, and what needs a manual update.
The archived v1 documentation remains available at &lt;a href="https://rest.sh/v1/"&gt;rest.sh/v1/&lt;/a&gt; for
old links, internal runbooks, and side-by-side migration checks.&lt;/p&gt;
&lt;h2 id="what-to-expect"&gt;What To Expect&lt;/h2&gt;
&lt;p&gt;Restish v2 keeps the same basic idea: start with generic HTTP requests, then
register APIs for generated commands, profiles, auth, filtering, pagination,
and plugins.&lt;/p&gt;</description></item><item><title>Set Up Profiles</title><link>https://rest.sh/docs/getting-started/set-up-profiles/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rest.sh/docs/getting-started/set-up-profiles/</guid><description>&lt;p&gt;Profiles are named request defaults under an API. Use them when a command should
stay readable even though the target environment, auth, headers, query params,
or TLS settings change.&lt;/p&gt;
&lt;h2 id="start-with-one-api"&gt;Start With One API&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;restish api connect example api.rest.sh &lt;span class="s1"&gt;&amp;#39;prompt.api_key: docs-key&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Add profiles under the API with &lt;code&gt;api set&lt;/code&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;restish api &lt;span class="nb"&gt;set&lt;/span&gt; example &lt;span class="s1"&gt;&amp;#39;profiles.json.headers[]: &amp;#34;Accept: application/json&amp;#34;&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;restish api &lt;span class="nb"&gt;set&lt;/span&gt; example &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s1"&gt;&amp;#39;profiles.debug: {headers: [&amp;#34;Accept: application/json&amp;#34;, &amp;#34;X-Debug: true&amp;#34;], query: [&amp;#34;trace=docs&amp;#34;]}&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;restish api &lt;span class="nb"&gt;set&lt;/span&gt; example &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s1"&gt;&amp;#39;profiles.token.auth: {type: bearer, params: {token: env:RESTISH_DOCS_TOKEN}}&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Those commands write profile entries like this:&lt;/p&gt;</description></item></channel></rss>