> For the complete documentation index, see [llms.txt](https://docs.mattermix.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.mattermix.com/api/authentication.md).

# Authentication

The Mattermix API is expecting an [Authorization](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Authorization) header using the Bearer authentication scheme followed by your API key as the authorization parameter. For example, an authorization header would look like the following (replacing `Your-API-Key` with your actual API key): `Authorization: 'Bearer Your-API-Key'`.

Below is an example using the Fetch API from JavaScript:

```javascript
const body = {
  html: "<html><body><p>Hello World!</p></body></html>"
}

const res = await fetch("mattermix.com/api/v1/image", {
  method: "POST",
  headers: {
      "Content-Type": "application/json",
      Authorization: `Bearer ${process.env.MATTERMIX_API_KEY}`
    },
  body: JSON.stringify(body)
});
```

In the above example, the Mattermix API key is stored in an [environment variable](https://www.freecodecamp.org/news/what-are-environment-variables-and-how-can-i-use-them-with-gatsby-and-netlify/) named `MATTERMIX_API_KEY` to prevent the API key being exposed in committed code.&#x20;
