# Getting started

### Get your product key

Your access to all Highside Labs Composer packages is is managed by your product key. Right after checkout, you'll be redirected to the dashboard, where you'll see your key:

<figure><img src="/files/9Lb9SYnQ6BHWxpUNB2fz" alt=""><figcaption></figcaption></figure>

### Initialize your project

Making a project using the starter kit is as simple as running `composer create-project`:

```bash
$ composer create-project highsidelabs/spapi-laravel-starter-kit my-project-dir \
    --repository=https://satis.highsidelabs.co
```

```
  Creating a "highsidelabs/spapi-laravel-starter-kit" project at "./my-project-dir"
  Installing highsidelabs/spapi-laravel-starter-kit (v1.0.0)
  - Downloading highsidelabs/spapi-laravel-starter-kit (v1.0.0)
    Authentication required (satis.highsidelabs.co):
      Username: test@highsidelabs.co
      Password: 
  Do you want to store credentials for satis.highsidelabs.co in /Users/jesse/.composer/auth.json ? [Yn] Y
  - Installing highsidelabs/spapi-laravel-starter-kit (v1.0.0): Extracting archive
  ...
```

You will be prompted to enter your login credentials for `satis.highsidelabs.co`. Your username is the email associated with your `tools.highsidelabs.co` account, and your password is the product key referenced above. Then just `cd` into the new project directory.

## Setup

### Environment variables

As with a normal Laravel project, copy `.env.example`to `.env`. The environment variables that are specific to this project are the ones starting with `SPAPI_` , but which ones you actually need to provide values for will depend on your use case. For now, just make sure you have the database-related environment variables filled in (`DB_*`). The rest of the environment variables will be covered in depth in later sections of this documentation (specifically: [Credentials](/sp-api-starter-kit/usage/working-with-sp-api-credentials.md), [OAuth](/sp-api-starter-kit/usage/oauth.md), and [Notifications](/sp-api-starter-kit/usage/notifications.md)).

### Database

Database configuration is exactly the same as in a standard Laravel application, so we recommend referring to [their documentation](https://laravel.com/docs/11.x/installation#databases-and-migrations) for any database setup questions. If you change your database setup to something other than Laravel's default SQLite option, you will need to run `php artisan migrate` to apply the database migrations to your new database.

Once you're done changing database configuration options, run `php artisan db:seed` to populate the database with some generic SP API data that's needed for the rest of the starter kit to work properly.

***

That's all the generic setup! Next, let's look at how to work with SP API credentials so that we can start actually making calls to the API.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.highsidelabs.co/sp-api-starter-kit/getting-started.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
