> ## Documentation Index
> Fetch the complete documentation index at: https://docs.invopop.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Authentication Guide

> After completing this quick start guide you'll have generated and tested an authentication token that can be used in all subsequent requests to the Invopop API.

## Requirements

You don't need to be a developer to use this guide, but you will need to have a
bit of experience using the command line and know how to create a text file.
For sending requests to the server we use the "curl" command, included with most
operating systems. For easy visualization of the response, we use the "jq" command,
included with most operating systems. Install "curl" and "jq", in case they are not installed
in your system.

## Create an Account

Head over to the [Invopop Console](https://console.invopop.com) and follow
the steps to either log in or create an account.

## Get a Token

1. Once inside the console, click **Settings**.

2. Enter the <kbd>API Keys</kbd> section.

3. Tap the <kbd>New API Key</kbd> button.

4. Provide a name for future reference, and any notes perhaps describing a use
   case, then click <kbd>Save</kbd>.

5. You'll be presented with a new token in text and a button to copy the
   details. Tap the <kbd>copy</kbd> button, and paste the token somewhere safe.

<Tip>
  Invopop uses JSON Web Tokens. If you're interested in seeing the contents,
  head over to [JWT.io](https://jwt.io) and paste you're token to see what's
  inside.
</Tip>

## Test

To test our new token, open the Terminal and prepare our environment using the
following command, replacing `<TOKEN>` with the actual token generated from the
Invopop console in the last step:

```bash theme={"system"}
export INVOPOP_TOKEN="<TOKEN>"
```

This saves us from copying and pasting the token every time we need to use it,
and we can now make a call to the Invopop Ping service:

```bash theme={"system"}
curl -H "Authorization: Bearer $INVOPOP_TOKEN" https://api.invopop.com/utils/v1/ping | jq .
```

Response:

```json theme={"system"}
{
  "ping": "pong"
}
```

This ping call doesn't do anything useful, other than ensuring that your
connection and credentials are valid.

<Note>
  Most examples throughout this documentation will assume you have set the
  `$INVOPOP_TOKEN` variable.
</Note>

## Conclusion

You've now managed to authenticate with the Invopop API using a generated token.

<Card title="Participate in our community" icon="forumbee" href="https://community.invopop.com" arrow="true" horizontal>
  Ask and answer questions about authentication →
</Card>
