# FAQ

### Why am I getting [`AuthError`](../errors/autherror)?

You need API key to get access to API and use the wrapper. Get one from [here](https://api-info.pgamerx.com/register). If you have the API key in your code but it is showing this error, Make sure API key is exact as the one you got.

### How plans work?

See the [official doc](https://docs.pgamerx.com) on this.

### Why Joke is an object, and why not string or dictionary?

To ease the user, Objects are relatively easy to understand and use then a raw dictionary. See [`Joke`](../data-classes/joke) and [Joke 101](joke-101) page for more info.

### What is [`AsyncClient`](../clients/asyncclient)?

An async version of the [`Client`](../clients/client)

### What is async and sync?

Async is basically used when concurrency is your focus. Sync is also known as blocking which means only one function will run at one point. You'll have to wait for a function to finish before you continue to next one whereas in async, they work concurrently. [Read more](https://www.outsystems.com/blog/posts/asynchronous-vs-synchronous-programming/).

### Why are version 3 and version 4, AI response parameters different?

Because that is how it is provided or suggested by API.

###
