> For the complete documentation index, see [llms.txt](https://docs.teranode.group/tng-identity-documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.teranode.group/tng-identity-documentation/tng-identity-issuers/issuer-api/getting-started.md).

# Getting Started

## Prepare base URL

Your Issuer API environment is entirely managed by TNG's Product Suite Platform (PSP), so there is nothing to worry about setting up the technology stack. You will receive the **Issuer API Base URL** for your environment. The Issuer API uses a single base URL to standardize all endpoints.

```bash
$API_KEY=INSERT_YOUR_API_KEY_HERE # the API key assigned to you via Issuer portal
$IDENTITY_ENV_HASH=426f1ce15bf3df70 # the unique hash idenitifer for your env
$ISSUER_API_BASE_URL=https://identity.products.teranode.group/products/web/$IDENTITY_ENV_HASH/issuer
```

Make sure to replace `$ISSUER_API_BASE_URL` with the Issuer API base URL provided to you.&#x20;

{% hint style="info" %}
To check if your Issuer API Base URL is valid, you can visit the Ping-Pong website at <mark style="color:blue;">`GET $ISSUER_BASE_URL/api/v1/ping`</mark>  or the Version endpoint at <mark style="color:blue;">`GET $ISSUER_BASE_URL/api/v1/version`</mark>
{% endhint %}

## API Key Authentication

The API supports API Key authentication providing the following header

```
x-api-key: <API_KEY>
```

The API key grants you access to the API documented at [API Documentation](/tng-identity-documentation/tng-identity-issuers/issuer-api/api-documentation.md)

If the API returns 403 means the API key privileges does not suffice to access the action you want to perform. Ask an Admin or Owner of the environment to review your access.

If the API returns 401 means the API key is not authorised or invalid. Ask an Admin or Owner to review access.

## Authorization

The Issuer API uses role-based access control (RBAC) to manage permissions. Authorization is enforced using the `cognito:groups` claim in the JWT access token, which specifies the user’s assigned claims. These permissions determine what actions the user can perform within the API.

### Supported Roles

* **Issuer Admin -** can view and issue verifiable credentials, can view the history of issued credentials, can revoke credentials & more
* **Issuer User** - can view and issue verifiable credentials, can view the history of its own issued credentials, can revoke its own credentials and more.
* **Issuer Auditor -** can view the history of issued credentials, can revoke credentials & more
