# Authentication

Authentication is a crucial step to ensure secure and authorized access to the WalliD CertiShop API. Whether you are an individual user or part of an organization, this guide will walk you through the process of obtaining and using API keys for authentication. You can specify an organization to manage API requests and quotas effectively.

### Individual Authentication <a href="#individual-authentication" id="individual-authentication"></a>

For individual users, obtaining and using an API key is a straightforward process.

**Step 1: Obtain API Key**

1. Create an account with [WalliD.  ](https://demo.eidcmp.wallid.io/Signup)
2. SignUp  to the [dashboard](https://docs.wallid.io/certishop-webapp/getting-started).
3. Access the `API Keys` section within the [`Issuer Profile`](https://docs.wallid.io/certishop-webapp/manage-organization) tab.
4. Generate a new [`API key`](https://docs.wallid.io/certishop-webapp/manage-organization#api-keys) specific to your project.

**Using API Key with WalliD-CertiShop API (Node.js):**

```javascript
const {CertiShop } = require(“wallid-certishop");
const configuration = {apiKey: "YOUR_API_KEY"};

const CertiShopWalliD = new CertiShop(configuration);
```

### Organization Authentication <a href="#organization-authentication" id="organization-authentication"></a>

If you are part of an organization with multiple users, you can manage API requests and quotas at the organization level.

**Step 1: Obtain Organization ID**

1. Login to the dashboard.
2. within the `Issuer Profile` tab.
3. Select `Organization`.
4. Note down the `Organization` ID for future reference.

**Step 2: Set Up API Keys**

**Using API Key with WalliD-CertiShop API (Node.js):**

```javascript
const {CertiShop } = require(“wallid-certishop");
const configuration = {apiKey: "YOUR_API_KEY"};

const CertiShopWalliD = new CertiShop(configuration);
```

### Specifying Organization for API Requests <a href="#specifying-organization-for-api-requests" id="specifying-organization-for-api-requests"></a>

For users who belong to multiple organizations, you can pass a header to specify the organization used for an API request. This is helpful to ensure accurate quota allocation.

**Using cURL:**

```bash
curl https://certishop.wallid.com/api \
  -H "Authorization: Bearer $YOUR_API_KEY" \
  -H "WalliD-Organization: your-organization-id"
```

By following these steps, you can securely authenticate your and manage API requests effectively, whether you are an individual user or part of an organization.
