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

# Authentication

> API authentication basics and best practices.

The API uses **Bearer (Token) Authentication** to authenticate any
request. These tokens are **JSON Web Tokens (JWT)** which need
to be created server side by your application.

## Create an API key

To sign a JWT you will need to create a new API key-pair in your dashboard.
To create a new API key visit the **Integrations** panel in your dashboard and click the **Add API key** button.
You can store the API key with your code or store it in a secure environment accessible to your
application.

## Server-side SDKs

By far the easiest way to create a JWT is with one of our server-side SDKs.

<CardGroup cols={3}>
  <Card title="C# SDK" icon="hashtag" href="https://github.com/gr4vy/gr4vy-csharp">
    Make server-side calls with our C# SDK.
  </Card>

  <Card title="Go SDK" icon="golang" href="https://github.com/gr4vy/gr4vy-go">
    Make server-side calls with our Go SDK.
  </Card>

  <Card title="Java SDK" icon="java" href="https://github.com/gr4vy/gr4vy-java">
    Make server-side calls with our Java SDK.
  </Card>

  <Card title="PHP SDK" icon="php" href="https://github.com/gr4vy/gr4vy-php">
    Make server-side calls with our PHP SDK.
  </Card>

  <Card title="Python SDK" icon="python" href="https://github.com/gr4vy/gr4vy-python">
    Make server-side calls with our Python SDK.
  </Card>

  <Card title="TypeScript SDK" icon="node-js" href="https://github.com/gr4vy/gr4vy-typescript">
    Make server and client-side API calls with our TypeScript SDK.
  </Card>
</CardGroup>

## Development Tools

<CardGroup cols={3}>
  <Card title="CLI" icon="terminal" href="/guides/tools/cli">
    Create API tokens and checkout sessions with our command line interface tool.
  </Card>

  <Card title="Postman" icon="envelope" href="/guides/tools/postman">
    Start exploring our API using our official Postman collection.
  </Card>
</CardGroup>

## Without SDKs

It is also [possible to generate the JWT](./jwts) without our SDKs
using any number of open source JWT libraries.
