# Making your first request

{% hint style="info" %}
The first step in building an app for ShopBase is to join the ShopBase Partner Program by [creating a partner account](https://developers.shopbase.com/master#create-a-shopify-partner-account).&#x20;
{% endhint %}

### Generate API credentials from the ShopBase admin <a href="#generate-api-credentials-from-the-shopify-admin" id="generate-api-credentials-from-the-shopify-admin"></a>

When you make an API call, you need to include API credentials to authenticate it. You can quickly generate API credentials by creating a private app from your development store's ShopBase admin. When you create the private app, ShopBase creates an API key and password, which you can include in API calls to the development store.

{% hint style="info" %}
To learn more about public and private apps, see [Authentication](https://developers.shopbase.com/build-an-app/making-your-first-request/authentication).
{% endhint %}

**Steps:**

1. From your ShopBase admin, go to **Apps**.
2. Click **Manage private apps**.
3. Click **Create a new private app**.
4. In the **App details** section, enter a name for your app, and an emergency developer email.
5. In the **Admin API** section, select the areas of your store that you want the app to access.
6. Click **Save**.

After you save the app's details, the **Admin API** section shows the app's API key and password.

**Caution**

Treat the API key and password like you would any other password since whoever has access to these credentials has full API access to the store.

### Making your first request <a href="#making-your-first-request" id="making-your-first-request"></a>

You can use the API key and password that you generated for [basic HTTP authorization](https://en.wikipedia.org/wiki/Basic_access_authentication) of your first request. The URL format for basic authorization is as follows:

```
https://{username}:{password}@{shop}.onshopbase.com/admin/{resource}.json
```

* `{username}` — The API key that you generated
* `{password}` — The API password
* `{shop}` - The name that you entered for your development store
* `{resource}` — A resource endpoint from the [REST admin API](https://developers.shopbase.com/build-an-app-tutorial/rest-admin-api-reference)

A URL with real values looks like this:

```
https://38b3692b6b48a9712b8d909c46e6208d:c2dc0abbdef5825da69ee1647962ce2d@example.onshopbase.com/admin/products.json
```

The following curl request retrieves information by using the Shop resource and the `/admin/shop.json`endpoint:

```
curl -X GET https://{username}:{password}@{shop}.onshopbase.com/admin/shop.json -H 'Content-Type: application/json'
```

Substitute your own values, and then run the curl command from the command line to retrieve information from your development store.

### Sample App

You can use SampleApp from this [github repo](https://github.com/Beeketing/sbase-sampleapp) as a reference for understanding authentication flow of a ShopBase app and how to call ShopBase APIs with public app.<br>
