# Quickstart Guide 🚀
### TLDR Highlevel steps:
- Create your Cloud Slicer account
- **[In the Dashboard](https://www.cloudslicer3d.com/dashboard)**:
   1. Generate an [API token](https://www.cloudslicer3d.com/dashboard/tokens) 
   2. Create a [filament config](https://www.cloudslicer3d.com/dashboard/filaments/new) profile
   3. Create your [printer config](https://www.cloudslicer3d.com/dashboard/printers/new) profile
- **[In the API Playground](https://docs.cloudslicer3d.com/api)**:
   1. Authenticate with the API in our [API Playground](https://docs.cloudslicer3d.com/api)
   2. Make your first API call to ```/v1/file``` to upload a file
   3. Queue a quote with ```POST /v1/quote/queue/{file_id}``` using your `printer_id` and `filament_id`
   4. Poll ```GET /v1/quote/{quote_id}``` until `status` is `success`, then read the pricing info from the response

----

<Stepper>
1. ## Create Your Account ##

    1. **Visit** [www.cloudslicer3d.com](https://www.cloudslicer3d.com/auth/sign-up) to sign up for a new account
    2. **Fill out** the registration form with your details
    3. **Check your email** and click the confirmation link to fully activate your account

    :::caution
    **Important:** Make sure to confirm your email address or your account will not be fully activated and you will not be able to access the API!
    :::

2. ## Generate Your API Token ##

   1. **Log into** your Cloud Slicer account
   2. **Navigate** to the dashboard - you'll be redirected here automatically after login
   3. **Click** on the `Tokens` tab in the left sidebar
   4. **Create** a new token by clicking the `New Token` button
   5. **Configure** your token:
   - Give it a **descriptive name** (e.g., "My First Token")
   - Set the **expiration** in days OR leave blank for no expiration
      <img 
         src="/videos/create-token.gif" 
         alt="Cloud Slicer Banner" 
         width="800" 
         height="400"
         className='rounded-lg shadow-lg border border-gray-400 dark:border-white-200'
      />

   6. **Copy** the generated token immediately and store it securely

   :::caution
   **Important:** You will only see the token once! Make sure to copy and save it in a secure location before closing the popup.
   :::

3. ## Create a Printer Config ##

   1. **Click** on the `Printers` tab in the left sidebar
   2. **Click** the `+` icon in the top right corner
   3. **Configure** your printer settings to match what you currently have in your local slicer application
   4. **Save** the printer configuration
      <img 
         src="/videos/create-printer-config.gif"
         alt="Creating a printer config"
         width="800" 
         height="400"
         className='rounded-lg shadow-lg border border-gray-300 dark:border-white-200'
      />

   :::note
   **Note**: Keep track of your `printer_id` as you will use this in your API calls.
   :::

4. ## Create a Filament Config ##

   1. **Click** on the `Filaments` tab in the left sidebar
   2. **Click** the `+` icon in the top right corner
   3. **Configure** your filament profile to match what you will use for printing
   4. **Save** the filament configuration
      <img 
         src="/videos/create-filament-config.gif"
         alt="Creating a filament config"
         width="800" 
         height="400"
         className='rounded-lg shadow-lg border border-gray-300 dark:border-white-200'
      />
   
   :::note
   **Note**: Hold on to your `filament_id` as you will use this in your API calls.
   :::

5. ## Authenticate with the API ##

   1. **Navigate** to the API playground at [docs.cloudslicer3d.com/api](https://docs.cloudslicer3d.com/api)
   2. **Click** the `lock icon` in the top right corner
   3. **Paste** your JWT token from Step 2 into the authorization field
   4. **Click** `Authorize`
      <img 
         src="/videos/api-playground-auth.gif" 
         alt="Cloud Slicer Banner" 
         width="800" 
         height="400"
         className='rounded-lg shadow-lg border border-gray-400 dark:border-white-200'
      />

   **You're now authenticated and ready to explore the Cloud Slicer API.**

6. ## Make Your First Set of API Calls ##

   **Upload your first STL file:**

   1. **Find** the `POST /v1/file` endpoint in the API documentation
   2. **Expand** the tab to reveal the POST request details
   3. **Upload** an STL file using the `choose file` button to open up your file explorer
   4. **Execute** the request
   5. **Copy** the `file_id` from the response
      <img 
         src="/videos/upload-file.gif" 
         alt="Cloud Slicer Banner" 
         width="800" 
         height="400"
         className='rounded-lg shadow-lg border border-gray-400 dark:border-white-200'
      />

   **Queue your first quote:**

   Slicing can take anywhere from a few seconds to over a minute, so quotes are async. You queue a job, then poll until it's ready.

   1. **Find** the `POST /v1/quote/queue/{file_id}` endpoint in the API documentation
   2. **Expand** the tab to reveal the POST request details
   3. **Add Details**:
      - Fill in the path parameter with the `file_id` from the previous upload step
      - Fill in both the `printer_id` and `filament_id` fields in the request body with the IDs created in Steps 3 and 4
      - Optionally tweak the `pricing_config` and `print_settings` — both fall back to sensible defaults if omitted

   <img 
      src="/videos/payload-builder.gif" 
      alt="Cloud Slicer Banner" 
      width="800" 
      height="400"
      className='rounded-lg shadow-lg border border-gray-400 dark:border-white-200'
   />

   :::tip
   You can use the [payload builder](https://www.cloudslicer3d.com/dashboard/payload-builder) to help you in constructing your request payload as shown above. 👆
   :::

   4. **Execute** the request — you'll get back a `202 Accepted` with a `quote_id`
   5. **Copy** the `quote_id` from the response

   **Poll until it's ready:**

   1. **Find** the `GET /v1/quote/{quote_id}` endpoint
   2. **Paste** the `quote_id` into the path parameter and **Execute**
   3. **Re-run** every couple of seconds — `status` starts at `"pending"` and ends at `"success"` or `"failed"`
   4. Once `status` is `"success"`, the response includes `pricing`, `time`, and `files.gcode_path` — download the g-code with `GET /v1/quote/gcode/{quote_id}`

   :::note
   For a step-by-step code walkthrough of this same flow, see [Creating Quotes](/guides/creating-quotes).
   :::

   <img 
         src="/images/quote_activity.png" 
         alt="Cloud Slicer Banner" 
         width="800" 
         height="400"
         className='rounded-lg shadow-lg border border-gray-400 dark:border-white-200'
      />
   ***You will now see activity in your dashboard since you have uploaded a file and generated a quote***
</Stepper>
---

:::info
**Reminder:** All API endpoints require authentication with your Bearer token. Make sure to include it in your requests!
:::

Need help? Check out our [API Playground](https://docs.cloudslicer3d.com/api) for detailed documentation on all available endpoints.