# Deserialization error: Could not decode 'status' ('ready')

**URL:** <https://community.letsencrypt.org/t/deserialization-error-could-not-decode-status-ready/75914>\
**Category:** Help\
**Created:** [October 26, 2018, 10:07pm UTC](https://community.letsencrypt.org/t/deserialization-error-could-not-decode-status-ready/75914 "2018-10-26T22:07:19Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Kimserey](https://sea3.discourse-cdn.com/letsencrypt/user_avatar/community.letsencrypt.org/kimserey/32/26784_2.png) [@Kimserey](https://community.letsencrypt.org/u/Kimserey)\
**Post date:** [October 26, 2018, 10:07pm UTC](https://community.letsencrypt.org/t/deserialization-error-could-not-decode-status-ready/75914/1 "2018-10-26T22:07:19Z")

</div>

**My domain is:**  
[https://groomgy.com](https://groomgy.com)

**I ran this command:**  
sudo certbot renew --dry-run --preferred-challenges http --webroot -w mywebroot

**It produced this output:**  
Saving debug log to /var/log/letsencrypt/letsencrypt.log

* * *

## Processing /etc/letsencrypt/renewal/groomgy.com.conf

Cert not due for renewal, but simulating renewal for dry run  
Plugins selected: Authenticator webroot, Installer nginx  
Starting new HTTPS connection (1): [acme-staging-v02.api.letsencrypt.org](http://acme-staging-v02.api.letsencrypt.org)  
Renewing an existing certificate  
Attempting to renew cert ([groomgy.com](http://groomgy.com)) from /etc/letsencrypt/renewal/groomgy.com.conf produced an unexpected error: Deserialization error: Could not decode ‘status’ (‘ready’): Deserialization error: Status not recognized. Skipping.  
All renewal attempts failed. The following certs could not be renewed:  
/etc/letsencrypt/live/groomgy.com/fullchain.pem (failure)

* * *

DRY RUN: simulating ‘certbot renew’ close to cert expiry  
(The test certificates below have not been saved.)

All renewal attempts failed. The following certs could not be renewed:  
/etc/letsencrypt/live/groomgy.com/fullchain.pem (failure)  
DRY RUN: simulating ‘certbot renew’ close to cert expiry  
(The test certificates above have not been saved.)

* * *

1 renew failure(s), 0 parse failure(s)

**The operating system my web server runs on is (include version):**  
Ubuntu xenial

**I can login to a root shell on my machine (yes or no, or I don’t know):**  
Yes

**Certbot version:**  
certbot 0.22.2

* * *

I ran the same command without --dry-run yesterday and it renewed one time properly, subsequent --dry-run keeps failing.

---

<div class="post-metadata">

**Author:** ![JuergenAuer](https://sea3.discourse-cdn.com/letsencrypt/user_avatar/community.letsencrypt.org/juergenauer/32/26491_2.png) [@JuergenAuer](https://community.letsencrypt.org/u/JuergenAuer)\
**Post date:** [October 26, 2018, 10:10pm UTC](https://community.letsencrypt.org/t/deserialization-error-could-not-decode-status-ready/75914/2 "2018-10-26T22:10:12Z")

</div>

Hi @Kimserey,

> [@Kimserey](#):
>
> Attempting to renew cert ([groomgy.com](http://groomgy.com)) from /etc/letsencrypt/renewal/groomgy.com.conf produced an unexpected error: Deserialization error: Could not decode ‘status’ (‘ready’): Deserialization error: Status not recognized. Skipping.

update your Certbot. The ready - state

> [@ACMEv2 Order "ready" Status](https://community.letsencrypt.org/t/acmev2-order-ready-status/62866):
>
> A…

is live - 2018-07-05. So if you have this error, your Certbot-version is too old.

---

<div class="post-metadata">

**Author:** ![mnordhoff](https://sea3.discourse-cdn.com/letsencrypt/user_avatar/community.letsencrypt.org/mnordhoff/32/22583_2.png) [@mnordhoff](https://community.letsencrypt.org/u/mnordhoff)\
**Post date:** [October 27, 2018, 3:56am UTC](https://community.letsencrypt.org/t/deserialization-error-could-not-decode-status-ready/75914/3 "2018-10-27T03:56:46Z")

</div>

> [@Kimserey](#):
>
> I ran the same command without --dry-run yesterday and it renewed one time properly, subsequent --dry-run keeps failing.

The "ready" status is only enabled on the ACME v2 API servers, so your older Certbot can still interact with acme-v01 and acme-staging. That's probably why some commands work.

If you weren't able to upgrade quickly, you could take advantage of that. But you're on Ubuntu 16.04, and it only takes a few seconds to upgrade to the newest version in the PPA.

---

<div class="post-metadata">

**Author:** ![Kimserey](https://sea3.discourse-cdn.com/letsencrypt/user_avatar/community.letsencrypt.org/kimserey/32/26784_2.png) [@Kimserey](https://community.letsencrypt.org/u/Kimserey)\
**Post date:** [October 27, 2018, 10:18am UTC](https://community.letsencrypt.org/t/deserialization-error-could-not-decode-status-ready/75914/4 "2018-10-27T10:18:43Z")

</div>

Thanks a lot @JuergenAuer,

I upgrade certbot to the latest 0.26.1 and it now does http challenge by default and does not need to have the root specified. The following now works fine:

```auto
certbot --dry-run renew

```

Thank you so much.

---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/letsencrypt/original/3X/c/a/ca6c06ea1ea201324bba7048c6841ce60236468d.png) [@system](https://community.letsencrypt.org/u/system)\
**Post date:** [November 26, 2018, 10:18am UTC](https://community.letsencrypt.org/t/deserialization-error-could-not-decode-status-ready/75914/5 "2018-11-26T10:18:44Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
