# How to force credentials to every Axios request

> Learn how to send credentials and cookies with every Axios request by setting withCredentials: true, and how to apply it globally with axios.create().

Author: [Flavio Copes](https://flaviocopes.com/about/) | Published: 2020-04-30 | Topics: [JavaScript](https://flaviocopes.com/tags/js/) | Canonical: https://flaviocopes.com/axios-credentials/

I was using [Axios](https://flaviocopes.com/axios/) to interact with an API that set a JWT token.

The API returned the token in a cookie and I quickly figured I needed to set `withCredentials: true` in the Axios options:

```js
import axios from 'axios'

axios.post(API_SERVER + '/login', { email, password }, { withCredentials: true })
```

Otherwise the cookie would not be saved.

I also needed to set it for every other request I made, to send the JWT token to the server:

```js
axios.get(API_SERVER + '/todos', { withCredentials: true })
```

Now, it's ok for a few requests, but for many, you'd probably like to use a general configuration.

You can do it using the `create()` method to create a new Axios instance you'll then use it in your requests:

```js
import axios from 'axios'

const instance = axios.create({
  withCredentials: true
})

instance.get(API_SERVER + '/todos')
```

It's also common to add a `baseURL` property:

```js
import axios from 'axios'

const instance = axios.create({
  withCredentials: true,
  baseURL: API_SERVER
})

instance.get('todos')
```

In [React](https://flaviocopes.com/react/) I used [`axios-hooks`](https://github.com/simoneb/axios-hooks), and to configure `withCredentials` I used this code:

```js
import axios from 'axios'
import useAxios, { configure } from 'axios-hooks'

const instance = axios.create({
  withCredentials: true,
  baseURL: API_SERVER,
})

configure({ instance })

const [{ data, loading, error }, refetch] = useAxios('todos')
```
