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

# Authentication

## OAuth2

We **strongly** recommend using the OAuth2 authentication flow when integrating with our REST API. It utilizes the [JWT](https://jwt.io/) as a medium of exchange and a [Service Account](/service-accounts/creating-service-accounts.md) for access control. New integrations should use `RS256` Service Account keys. After the authentication exchange is implemented, the returned access token allows you to perform HTTP requests efficiently.

Read about how to implement [OAuth2](/rest-api/authentication/oauth2.md) to get started.

## Basic Auth

We also support Basic Auth for authenticating with a Service Account. While this is not recommended for production-level integrations, it can be quite useful for quick experimentation and prototyping. It is disabled by default but can be enabled when creating or updating the [Service Account](/service-accounts/creating-service-accounts.md). Basic Auth only works with legacy `HS256` keys and stops working when the key expires.

Read about how to implement [Basic Auth](/rest-api/authentication/basic-auth.md) to get started.
