Repository: praw-dev/praw

Issue:
SubredditModeration.update does not update Welcome Message settings
**Describe the bug**

Per [/api/site_admin docs](https://www.reddit.com/dev/api/#POST_api_site_admin), `welcome_message_enabled` and `welcome_message_text` are supported fields, but I am unable to update their values with praw. I see this behavior on a subreddit with only 2 subscribers.

I suspect this is a problem with the Reddit API. Nothing about the underlying praw code looked suspicious to me. The welcome message feature was introduced only four months ago:

1. [Introducing the Mod Welcome Message](https://www.reddit.com/r/modnews/comments/e6la2u/introducing_the_mod_welcome_message/)
2. [We’ve increased the subscriber limit for the Mod Welcome Message feature from 50k to 500k](https://www.reddit.com/r/modnews/comments/evrbzm/weve_increased_the_subscriber_limit_for_the_mod/)

**To Reproduce** 

Attempt to update subreddit settings on a subreddit where the reddit instance has full moderator privileges. 

**Expected behavior**

I expect my subreddit settings to update to my defined values for `welcome_message_enabled` and `welcome_message_text`.

**Code/Logs**

```python
new_settings = {
    "welcome_message_enabled": True,
    "welcome_message_text": "Hello!",
}
subreddit = reddit.subreddit("datascience_bot_dev")
subreddit.mod.update(**new_settings)
# validate
current_settings = subreddit.mod.settings()
for k, v in new_settings.items():
    assert current_settings[k] == v
```

I expect line 9 not to raise an AssertionError.

**System Info**
 - OS: Ubuntu 18.04
 - Python: 3.7.7
 - PRAW Version: 7.0.0

edit: updated code snippet
SubredditModeration.update does not update Welcome Message settings
**Describe the bug**

Per [/api/site_admin docs](https://www.reddit.com/dev/api/#POST_api_site_admin), `welcome_message_enabled` and `welcome_message_text` are supported fields, but I am unable to update their values with praw. I see this behavior on a subreddit with only 2 subscribers.

I suspect this is a problem with the Reddit API. Nothing about the underlying praw code looked suspicious to me. The welcome message feature was introduced only four months ago:

1. [Introducing the Mod Welcome Message](https://www.reddit.com/r/modnews/comments/e6la2u/introducing_the_mod_welcome_message/)
2. [We’ve increased the subscriber limit for the Mod Welcome Message feature from 50k to 500k](https://www.reddit.com/r/modnews/comments/evrbzm/weve_increased_the_subscriber_limit_for_the_mod/)

**To Reproduce** 

Attempt to update subreddit settings on a subreddit where the reddit instance has full moderator privileges. 

**Expected behavior**

I expect my subreddit settings to update to my defined values for `welcome_message_enabled` and `welcome_message_text`.

**Code/Logs**

```python
new_settings = {
    "welcome_message_enabled": True,
    "welcome_message_text": "Hello!",
}
subreddit = reddit.subreddit("datascience_bot_dev")
subreddit.mod.update(**new_settings)
# validate
current_settings = subreddit.mod.settings()
for k, v in new_settings.items():
    assert current_settings[k] == v
```

I expect line 9 not to raise an AssertionError.

**System Info**
 - OS: Ubuntu 18.04
 - Python: 3.7.7
 - PRAW Version: 7.0.0

edit: updated code snippet


Discussion:
As you say, this should work, as it is documented in the official API docs. Looking at the requests that PRAW makes, we do send a properly-formed request with these values. I believe this is a Reddit bug. You could consider submitting this to `/r/bugs`, but I suspect admins don't look at that because it's mostly flooded with low-quality reports. Tagging @kemitche in case he has thoughts.
As a sidenote, the Redesign uses a different URL: https://oauth.reddit.com/api/v1/subreddit/update_settings?redditWebClient=desktop2x&app=desktop2x-client-production&raw_json=1&gilding_detail=1 with a PATCH instead of a POST. However, I haven't figured out how to successfully authenticate to this endpoint, and incorrect authentication seems to result in a 500. I suspect we're not meant to authenticate to this endpoint for some reason. With more effort we may be able to.
That endpoint is accessible to 3rd party clients, but is one that requires the request body be JSON, rather than form-encoded. (I can better help diagnose the specific issue with a conversation on /r/redditdev, if you desire)
Thanks for the reply, @kemitche. Does that mean that the `/api/site_admin` endpoint (the one used by old Reddit) does not support the params `welcome_message_enabled` and `welcome_message_text` despite [documentation](https://www.reddit.com/dev/api/#POST_api_site_admin)?
> Wow? Reddit's documentation being incomplete? Who would've thought?

Not constructive, especially in a thread where we've received help from a reddit developer.
Oh, sorry. 
> That endpoint is accessible to 3rd party clients, but is one that requires the request body be JSON, rather than form-encoded. (I can better help diagnose the specific issue with a conversation on /r/redditdev, if you desire)

Thanks @kemitche, I created a [thread](https://www.reddit.com/r/redditdev/comments/g9bjpm/subredditmoderationupdate_does_not_update_welcome/) on r/redditdev to discuss and diagnose the issue.

And thank you @jarhill0 for the background and help getting eyes on the issue! 
@jarhill0 , because of [this](https://github.com/praw-dev/praw/issues/1452#issuecomment-620250413), you need to include 'content-type': 'application/json' in the headers for it to work. As I mentioned on [vogt4nick's redditdev thread](https://www.reddit.com/r/redditdev/comments/g9bjpm/subredditmoderationupdate_does_not_update_welcome/), using a vanilla IDLE prompt with the just the requests library loaded, you can set a welcome message of "Sub's message goes here" with:

`response=requests.patch("https://oauth.reddit.com/api/v1/subreddit/update_settings",data='{"welcome_message_text":"Sub\'s message goes here","sr":"t5_xxxxxx"}', headers={'User-Agent': 'xxxxxxxxxxxxxx', 'Authorization': 'bearer xxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxx', 'content-type': 'application/json'})`

`response.json()` will then return `{'welcome_message_text': "Sub's message goes here"}`

Note that another API endpoint, `/api/v1/[subreddit]/flair_template_order`, also needs this. For example, to reorder the user flairs on /r/nyyankees from (1,2,3,...) to (3,1,2), that is, switch the first and third, leave the second flair alone, and delete the other flairs, you would use

`requests.patch('https://oauth.reddit.com/api/v1/nyyankees/flair_template_order/USER_FLAIR',data='["adae9ab4-37a4-11e5-b7dd-0e8ad82823eb", "4b4135ca-0d87-11e2-b496-12313d28169d", "b4b36242-bbef-11e1-a9d2-12313b0c247a"]',headers={'User-Agent': 'xxxxxxxxxxxxxxx', 'Authorization': 'bearer xxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxx', 'content-type': 'application/json'})`

Neither the method for [submitting PATCH requests](https://github.com/praw-dev/praw/blob/a0c764012833662c255e7b7711f245001fd8cfa2/praw/reddit.py#L594),  nor any of the other methods that use [the interface for HTTP requests](https://github.com/praw-dev/prawcore/blob/master/prawcore/requestor.py) are written to expect the one-off inclusion of a content-type header field. For now, I suppose this could be hacked around by calling Requestor directly, sort of like how `.Subreddit._upload_media` [does](https://github.com/praw-dev/praw/blob/master/praw/models/reddit/subreddit.py#L633), and then specifying custom headers.
Thanks, @MaybeNetwork! Out of curiosity, does setting the `json` parameter when calling a `requests` function set the appropriate header? Looking at [the code](https://github.com/psf/requests/blob/fd13816d015c4c90ee65297fa996caea6a094ed1/requests/models.py#L466) seems to indicate that it will, but I will have to test this later.

If that's the case, it would mean that your example could be
```
response = requests.patch(
    "https://oauth.reddit.com/api/v1/subreddit/update_settings",
    json={"welcome_message_text":"Sub's message goes here","sr":"t5_xxxxxx"},
    headers={'User-Agent': 'xxxxxxxxxxxxxx', 'Authorization': 'bearer xxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxx'})
```

(without manually setting the content type or encoding the JSON).

Later today or tomorrow I'll poke around prawcore to see whether we set the content type header already. If not, support for the content-type header of JSON should be as simple as passing the `json` argument through to `requests`.

Edit: Once I let the `json` parameter be passed through, prawcore (or maybe PRAW itself) is causing it to be ignored because it sets `api_type=json` in the body no matter what. We'll need a few small changes to allow prawcore to pass through a `json` parameter correctly. 
Does `api_type=json` overwrite the content-type?
The way `requests` handles the `json` parameter is that it ignores it if `data` is non-empty.

In PRAW's `Reddit.post` (and probably others like `patch`), `data` is set to be an empty dict if it is `None` (which it would be if using the `json` parameter). Then, `prawcore` sets `data["api_type"] = "json"`, which makes `data` nonempty, causing `requests` to ignore the `json` parameter entirely.

This can be solved pretty easily with a few changes to PRAW and `prawcore` that I'm working on right now.
As you say, this should work, as it is documented in the official API docs. Looking at the requests that PRAW makes, we do send a properly-formed request with these values. I believe this is a Reddit bug. You could consider submitting this to `/r/bugs`, but I suspect admins don't look at that because it's mostly flooded with low-quality reports. Tagging @kemitche in case he has thoughts.
As a sidenote, the Redesign uses a different URL: https://oauth.reddit.com/api/v1/subreddit/update_settings?redditWebClient=desktop2x&app=desktop2x-client-production&raw_json=1&gilding_detail=1 with a PATCH instead of a POST. However, I haven't figured out how to successfully authenticate to this endpoint, and incorrect authentication seems to result in a 500. I suspect we're not meant to authenticate to this endpoint for some reason. With more effort we may be able to.
That endpoint is accessible to 3rd party clients, but is one that requires the request body be JSON, rather than form-encoded. (I can better help diagnose the specific issue with a conversation on /r/redditdev, if you desire)
Thanks for the reply, @kemitche. Does that mean that the `/api/site_admin` endpoint (the one used by old Reddit) does not support the params `welcome_message_enabled` and `welcome_message_text` despite [documentation](https://www.reddit.com/dev/api/#POST_api_site_admin)?
> Wow? Reddit's documentation being incomplete? Who would've thought?

Not constructive, especially in a thread where we've received help from a reddit developer.
Oh, sorry. 
> That endpoint is accessible to 3rd party clients, but is one that requires the request body be JSON, rather than form-encoded. (I can better help diagnose the specific issue with a conversation on /r/redditdev, if you desire)

Thanks @kemitche, I created a [thread](https://www.reddit.com/r/redditdev/comments/g9bjpm/subredditmoderationupdate_does_not_update_welcome/) on r/redditdev to discuss and diagnose the issue.

And thank you @jarhill0 for the background and help getting eyes on the issue! 
@jarhill0 , because of [this](https://github.com/praw-dev/praw/issues/1452#issuecomment-620250413), you need to include 'content-type': 'application/json' in the headers for it to work. As I mentioned on [vogt4nick's redditdev thread](https://www.reddit.com/r/redditdev/comments/g9bjpm/subredditmoderationupdate_does_not_update_welcome/), using a vanilla IDLE prompt with the just the requests library loaded, you can set a welcome message of "Sub's message goes here" with:

`response=requests.patch("https://oauth.reddit.com/api/v1/subreddit/update_settings",data='{"welcome_message_text":"Sub\'s message goes here","sr":"t5_xxxxxx"}', headers={'User-Agent': 'xxxxxxxxxxxxxx', 'Authorization': 'bearer xxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxx', 'content-type': 'application/json'})`

`response.json()` will then return `{'welcome_message_text': "Sub's message goes here"}`

Note that another API endpoint, `/api/v1/[subreddit]/flair_template_order`, also needs this. For example, to reorder the user flairs on /r/nyyankees from (1,2,3,...) to (3,1,2), that is, switch the first and third, leave the second flair alone, and delete the other flairs, you would use

`requests.patch('https://oauth.reddit.com/api/v1/nyyankees/flair_template_order/USER_FLAIR',data='["adae9ab4-37a4-11e5-b7dd-0e8ad82823eb", "4b4135ca-0d87-11e2-b496-12313d28169d", "b4b36242-bbef-11e1-a9d2-12313b0c247a"]',headers={'User-Agent': 'xxxxxxxxxxxxxxx', 'Authorization': 'bearer xxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxx', 'content-type': 'application/json'})`

Neither the method for [submitting PATCH requests](https://github.com/praw-dev/praw/blob/a0c764012833662c255e7b7711f245001fd8cfa2/praw/reddit.py#L594),  nor any of the other methods that use [the interface for HTTP requests](https://github.com/praw-dev/prawcore/blob/master/prawcore/requestor.py) are written to expect the one-off inclusion of a content-type header field. For now, I suppose this could be hacked around by calling Requestor directly, sort of like how `.Subreddit._upload_media` [does](https://github.com/praw-dev/praw/blob/master/praw/models/reddit/subreddit.py#L633), and then specifying custom headers.
Thanks, @MaybeNetwork! Out of curiosity, does setting the `json` parameter when calling a `requests` function set the appropriate header? Looking at [the code](https://github.com/psf/requests/blob/fd13816d015c4c90ee65297fa996caea6a094ed1/requests/models.py#L466) seems to indicate that it will, but I will have to test this later.

If that's the case, it would mean that your example could be
```
response = requests.patch(
    "https://oauth.reddit.com/api/v1/subreddit/update_settings",
    json={"welcome_message_text":"Sub's message goes here","sr":"t5_xxxxxx"},
    headers={'User-Agent': 'xxxxxxxxxxxxxx', 'Authorization': 'bearer xxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxx'})
```

(without manually setting the content type or encoding the JSON).

Later today or tomorrow I'll poke around prawcore to see whether we set the content type header already. If not, support for the content-type header of JSON should be as simple as passing the `json` argument through to `requests`.

Edit: Once I let the `json` parameter be passed through, prawcore (or maybe PRAW itself) is causing it to be ignored because it sets `api_type=json` in the body no matter what. We'll need a few small changes to allow prawcore to pass through a `json` parameter correctly. 
Does `api_type=json` overwrite the content-type?
The way `requests` handles the `json` parameter is that it ignores it if `data` is non-empty.

In PRAW's `Reddit.post` (and probably others like `patch`), `data` is set to be an empty dict if it is `None` (which it would be if using the `json` parameter). Then, `prawcore` sets `data["api_type"] = "json"`, which makes `data` nonempty, causing `requests` to ignore the `json` parameter entirely.

This can be solved pretty easily with a few changes to PRAW and `prawcore` that I'm working on right now.

Resolving patch:
diff --git a/praw/endpoints.py b/praw/endpoints.py
--- a/praw/endpoints.py
+++ b/praw/endpoints.py
@@ -188,6 +188,7 @@
     "unread_message":          "api/unread_message/",
     "unsave":                  "api/unsave/",
     "unspoiler":               "api/unspoiler/",
+    "update_settings":         "api/v1/subreddit/update_settings",
     "upload_image":            "r/{subreddit}/api/upload_sr_img",
     "user":                    "user/{user}/",
     "user_about":              "user/{user}/about/",
diff --git a/praw/models/reddit/subreddit.py b/praw/models/reddit/subreddit.py
--- a/praw/models/reddit/subreddit.py
+++ b/praw/models/reddit/subreddit.py
@@ -2123,28 +2123,10 @@ def update(self, **settings):
         call to :meth:`.SubredditModeration.update` should retain their current
         value. If they do not please file a bug.
 
-        .. warning:: Undocumented settings, or settings that were very recently
-                     documented, may not retain their current value when
-                     updating. This often occurs when Reddit adds a new setting
-                     but forgets to add that setting to the API endpoint that
-                     is used to fetch the current settings.
-
         """
-        current_settings = self.settings()
-        fullname = current_settings.pop("subreddit_id")
-
-        # These attributes come out using different names than they go in.
-        remap = {
-            "allow_top": "default_set",
-            "lang": "language",
-            "link_type": "content_options",
-        }
-        for new, old in remap.items():
-            current_settings[new] = current_settings.pop(old)
-
-        current_settings.update(settings)
-        return Subreddit._create_or_update(
-            _reddit=self.subreddit._reddit, sr=fullname, **current_settings
+        settings["sr"] = self.subreddit.fullname
+        return self.subreddit._reddit.patch(
+            API_PATH["update_settings"], json=settings
         )
 
 


Test patch:
diff --git a/tests/integration/cassettes/TestSubredditModeration.test_update.json b/tests/integration/cassettes/TestSubredditModeration.test_update.json
--- a/tests/integration/cassettes/TestSubredditModeration.test_update.json
+++ b/tests/integration/cassettes/TestSubredditModeration.test_update.json
@@ -1,7 +1,7 @@
 {
   "http_interactions": [
     {
-      "recorded_at": "2020-04-05T00:47:30",
+      "recorded_at": "2020-04-29T07:15:13",
       "request": {
         "body": {
           "encoding": "utf-8",
@@ -21,13 +21,13 @@
             "keep-alive"
           ],
           "Content-Length": [
-            "61"
+            "53"
           ],
           "Content-Type": [
             "application/x-www-form-urlencoded"
           ],
           "User-Agent": [
-            "<USER_AGENT> PRAW/7.0.0.dev0 prawcore/1.0.1"
+            "<USER_AGENT> PRAW/7.0.1.dev0 prawcore/1.3.0"
           ]
         },
         "method": "POST",
@@ -46,19 +46,19 @@
             "keep-alive"
           ],
           "Content-Length": [
-            "118"
+            "116"
           ],
           "Content-Type": [
             "application/json; charset=UTF-8"
           ],
           "Date": [
-            "Sun, 05 Apr 2020 00:47:30 GMT"
+            "Wed, 29 Apr 2020 07:15:13 GMT"
           ],
           "Server": [
             "snooserv"
           ],
           "Set-Cookie": [
-            "edgebucket=cLYzmfbvkBmniB1ccA; Domain=reddit.com; Max-Age=63071999; Path=/;  secure"
+            "edgebucket=GJdCncr0aRnJtDpkLi; Domain=reddit.com; Max-Age=63071999; Path=/;  secure"
           ],
           "Strict-Transport-Security": [
             "max-age=15552000; includeSubDomains; preload"
@@ -76,10 +76,10 @@
             "majestic"
           ],
           "X-Served-By": [
-            "cache-lga21977-LGA"
+            "cache-sjc10035-SJC"
           ],
           "X-Timer": [
-            "S1586047650.856629,VS0,VE312"
+            "S1588144513.189146,VS0,VE434"
           ],
           "cache-control": [
             "max-age=0, must-revalidate"
@@ -102,7 +102,7 @@
       }
     },
     {
-      "recorded_at": "2020-04-05T00:47:30",
+      "recorded_at": "2020-04-29T07:15:13",
       "request": {
         "body": {
           "encoding": "utf-8",
@@ -122,10 +122,10 @@
             "keep-alive"
           ],
           "Cookie": [
-            "edgebucket=cLYzmfbvkBmniB1ccA"
+            "edgebucket=GJdCncr0aRnJtDpkLi"
           ],
           "User-Agent": [
-            "<USER_AGENT> PRAW/7.0.0.dev0 prawcore/1.0.1"
+            "<USER_AGENT> PRAW/7.0.1.dev0 prawcore/1.3.0"
           ]
         },
         "method": "GET",
@@ -134,7 +134,7 @@
       "response": {
         "body": {
           "encoding": "UTF-8",
-          "string": "{\"kind\": \"subreddit_settings\", \"data\": {\"default_set\": false, \"toxicity_threshold_chat_level\": 1, \"crowd_control_chat_level\": 1, \"restrict_posting\": true, \"subreddit_id\": \"t5_2bhxu0\", \"allow_images\": true, \"free_form_reports\": true, \"domain\": null, \"show_media\": false, \"wiki_edit_age\": 0, \"submit_text\": \"\", \"spam_selfposts\": \"high\", \"title\": \"<TEST_SUBREDDIT>x\", \"collapse_deleted_comments\": false, \"wikimode\": \"disabled\", \"over_18\": false, \"allow_videos\": true, \"spoilers_enabled\": false, \"crowd_control_level\": 0, \"crowd_control_mode\": false, \"welcome_message_enabled\": false, \"welcome_message_text\": null, \"suggested_comment_sort\": null, \"disable_contributor_requests\": false, \"original_content_tag_enabled\": false, \"description\": \"\", \"submit_link_label\": \"\", \"allow_post_crossposts\": true, \"spam_comments\": \"low\", \"public_traffic\": false, \"restrict_commenting\": false, \"allow_polls\": true, \"submit_text_label\": \"\", \"all_original_content\": false, \"key_color\": \"\", \"language\": \"en\", \"wiki_edit_karma\": 0, \"hide_ads\": false, \"header_hover_text\": \"\", \"allow_chat_post_creation\": false, \"allow_discovery\": false, \"public_description\": \"\", \"show_media_preview\": false, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"public\", \"spam_links\": \"high\", \"exclude_banned_modqueue\": false, \"content_options\": \"any\"}}"
+          "string": "{\"kind\": \"subreddit_settings\", \"data\": {\"default_set\": true, \"toxicity_threshold_chat_level\": 1, \"crowd_control_chat_level\": 1, \"restrict_posting\": true, \"subreddit_id\": \"t5_3nwlq\", \"allow_images\": true, \"free_form_reports\": true, \"domain\": null, \"show_media\": true, \"wiki_edit_age\": 0, \"submit_text\": \"\", \"spam_selfposts\": \"high\", \"title\": \"Testing 22!\", \"collapse_deleted_comments\": false, \"wikimode\": \"disabled\", \"over_18\": false, \"allow_videos\": true, \"spoilers_enabled\": true, \"crowd_control_level\": 0, \"crowd_control_mode\": false, \"welcome_message_enabled\": true, \"welcome_message_text\": \"This is the welcome message now!\", \"suggested_comment_sort\": null, \"disable_contributor_requests\": false, \"original_content_tag_enabled\": false, \"description\": \"heyo whale\", \"submit_link_label\": \"\", \"allow_post_crossposts\": true, \"spam_comments\": \"low\", \"public_traffic\": false, \"restrict_commenting\": false, \"allow_polls\": true, \"submit_text_label\": \"\", \"all_original_content\": false, \"key_color\": \"\", \"language\": \"en\", \"wiki_edit_karma\": 100, \"hide_ads\": false, \"header_hover_text\": \"\", \"allow_chat_post_creation\": false, \"allow_discovery\": false, \"public_description\": \"Here's a newer description\", \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"restricted\", \"spam_links\": \"high\", \"exclude_banned_modqueue\": false, \"content_options\": \"any\"}}"
         },
         "headers": {
           "Accept-Ranges": [
@@ -144,20 +144,20 @@
             "keep-alive"
           ],
           "Content-Length": [
-            "1308"
+            "1369"
           ],
           "Content-Type": [
             "application/json; charset=UTF-8"
           ],
           "Date": [
-            "Sun, 05 Apr 2020 00:47:30 GMT"
+            "Wed, 29 Apr 2020 07:15:13 GMT"
           ],
           "Server": [
             "snooserv"
           ],
           "Set-Cookie": [
-            "loid=00000000005bn5wlvy.2.1577584524387.Z0FBQUFBQmVpU3FpUHBoLUs1M0V5V1hNMlNrei1FbUdENFc2UFlPQl9vU1UycnVTREtJdnlMcnJjVTdfT0EtbWxQTFF5cEpwVU1kMUgxVktFNzlOazVmRm9qMW1OTDI3ckJqbG84dGJEX3pLVVRDQTJudEZXVnByNTlnN2RsSF91a0V3a3YxWVdoOFo; Domain=reddit.com; Max-Age=63071999; Path=/; expires=Tue, 05-Apr-2022 00:47:30 GMT; secure; SameSite=None; Secure",
-            "session_tracker=dQVjKrhpv5DzWyqtMb.0.1586047650451.Z0FBQUFBQmVpU3Fpb3FxQmlyYmN1WVN4NHhvNkNJZEdkUmNiYXBnMWlnbnlrel8tMnFGMnhseW1Yd0dMckFrRUxRRDhIUERCX3hhNW5YUnNycklpTEoxd0RqZTlabXA1NU01akg5WnFBYjN1VnRSRXRxZm9TaV96M3ZRZ091b05NeHVqenFMSXl3Sjk; Domain=reddit.com; Max-Age=7199; Path=/; expires=Sun, 05-Apr-2020 02:47:30 GMT; secure; SameSite=None; Secure",
+            "session_tracker=4bN4U6H1I1Qw8Wb9qF.0.1588144513777.Z0FBQUFBQmVxU21COERmeEgteXNrTllhOUs2aWppSjNVdjJxYUxkd2I1eEprMTBZRjFITkFuV0lvUjBoRlNQNmM2UW43Q0ZScWtrUXJNZmRCaF9nUVpvaVpTY1hra0tHaThuMkNkRnFuTmw0VlJqVGN3bHJPcmJnLXoxRmlweVlpNzBWYXE5bkJ3cTU; Domain=reddit.com; Max-Age=7199; Path=/; expires=Wed, 29-Apr-2020 09:15:13 GMT; secure; SameSite=None; Secure",
+            "redesign_optout=true; Domain=reddit.com; Max-Age=94607999; Path=/; expires=Sat, 29-Apr-2023 07:15:13 GMT; secure",
             "csv=1; Max-Age=63072000; Domain=.reddit.com; Path=/; Secure; SameSite=None"
           ],
           "Strict-Transport-Security": [
@@ -179,10 +179,10 @@
             "majestic"
           ],
           "X-Served-By": [
-            "cache-lga21964-LGA"
+            "cache-sjc10033-SJC"
           ],
           "X-Timer": [
-            "S1586047650.421632,VS0,VE69"
+            "S1588144514.707057,VS0,VE142"
           ],
           "cache-control": [
             "private, s-maxage=0, max-age=0, must-revalidate, no-store, max-age=0, must-revalidate"
@@ -197,13 +197,13 @@
             "SAMEORIGIN"
           ],
           "x-ratelimit-remaining": [
-            "595.0"
+            "599.0"
           ],
           "x-ratelimit-reset": [
-            "150"
+            "287"
           ],
           "x-ratelimit-used": [
-            "5"
+            "1"
           ],
           "x-ua-compatible": [
             "IE=edge"
@@ -220,7 +220,7 @@
       }
     },
     {
-      "recorded_at": "2020-04-05T00:47:30",
+      "recorded_at": "2020-04-29T07:15:14",
       "request": {
         "body": {
           "encoding": "utf-8",
@@ -240,19 +240,19 @@
             "keep-alive"
           ],
           "Cookie": [
-            "csv=1; edgebucket=cLYzmfbvkBmniB1ccA; loid=00000000005bn5wlvy.2.1577584524387.Z0FBQUFBQmVpU3FpUHBoLUs1M0V5V1hNMlNrei1FbUdENFc2UFlPQl9vU1UycnVTREtJdnlMcnJjVTdfT0EtbWxQTFF5cEpwVU1kMUgxVktFNzlOazVmRm9qMW1OTDI3ckJqbG84dGJEX3pLVVRDQTJudEZXVnByNTlnN2RsSF91a0V3a3YxWVdoOFo; session_tracker=dQVjKrhpv5DzWyqtMb.0.1586047650451.Z0FBQUFBQmVpU3Fpb3FxQmlyYmN1WVN4NHhvNkNJZEdkUmNiYXBnMWlnbnlrel8tMnFGMnhseW1Yd0dMckFrRUxRRDhIUERCX3hhNW5YUnNycklpTEoxd0RqZTlabXA1NU01akg5WnFBYjN1VnRSRXRxZm9TaV96M3ZRZ091b05NeHVqenFMSXl3Sjk"
+            "csv=1; edgebucket=GJdCncr0aRnJtDpkLi; redesign_optout=true; session_tracker=4bN4U6H1I1Qw8Wb9qF.0.1588144513777.Z0FBQUFBQmVxU21COERmeEgteXNrTllhOUs2aWppSjNVdjJxYUxkd2I1eEprMTBZRjFITkFuV0lvUjBoRlNQNmM2UW43Q0ZScWtrUXJNZmRCaF9nUVpvaVpTY1hra0tHaThuMkNkRnFuTmw0VlJqVGN3bHJPcmJnLXoxRmlweVlpNzBWYXE5bkJ3cTU"
           ],
           "User-Agent": [
-            "<USER_AGENT> PRAW/7.0.0.dev0 prawcore/1.0.1"
+            "<USER_AGENT> PRAW/7.0.1.dev0 prawcore/1.3.0"
           ]
         },
         "method": "GET",
-        "uri": "https://oauth.reddit.com/r/<TEST_SUBREDDIT>/about/edit/?raw_json=1"
+        "uri": "https://oauth.reddit.com/r/<TEST_SUBREDDIT>/about/?raw_json=1"
       },
       "response": {
         "body": {
           "encoding": "UTF-8",
-          "string": "{\"kind\": \"subreddit_settings\", \"data\": {\"default_set\": false, \"toxicity_threshold_chat_level\": 1, \"crowd_control_chat_level\": 1, \"restrict_posting\": true, \"subreddit_id\": \"t5_2bhxu0\", \"allow_images\": true, \"free_form_reports\": true, \"domain\": null, \"show_media\": false, \"wiki_edit_age\": 0, \"submit_text\": \"\", \"spam_selfposts\": \"high\", \"title\": \"<TEST_SUBREDDIT>x\", \"collapse_deleted_comments\": false, \"wikimode\": \"disabled\", \"over_18\": false, \"allow_videos\": true, \"spoilers_enabled\": false, \"crowd_control_level\": 0, \"crowd_control_mode\": false, \"welcome_message_enabled\": false, \"welcome_message_text\": null, \"suggested_comment_sort\": null, \"disable_contributor_requests\": false, \"original_content_tag_enabled\": false, \"description\": \"\", \"submit_link_label\": \"\", \"allow_post_crossposts\": true, \"spam_comments\": \"low\", \"public_traffic\": false, \"restrict_commenting\": false, \"allow_polls\": true, \"submit_text_label\": \"\", \"all_original_content\": false, \"key_color\": \"\", \"language\": \"en\", \"wiki_edit_karma\": 0, \"hide_ads\": false, \"header_hover_text\": \"\", \"allow_chat_post_creation\": false, \"allow_discovery\": false, \"public_description\": \"\", \"show_media_preview\": false, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"public\", \"spam_links\": \"high\", \"exclude_banned_modqueue\": false, \"content_options\": \"any\"}}"
+          "string": "{\"kind\": \"t5\", \"data\": {\"user_flair_background_color\": \"\", \"submit_text_html\": null, \"restrict_posting\": true, \"user_is_banned\": false, \"free_form_reports\": true, \"wiki_enabled\": true, \"user_is_muted\": false, \"user_can_flair_in_sr\": true, \"display_name\": \"<TEST_SUBREDDIT>\", \"header_img\": null, \"title\": \"Testing 22!\", \"icon_size\": null, \"primary_color\": \"\", \"active_user_count\": 8, \"icon_img\": null, \"display_name_prefixed\": \"r/<TEST_SUBREDDIT>\", \"accounts_active\": 8, \"public_traffic\": false, \"subscribers\": 1, \"user_flair_richtext\": [{\"e\": \"text\", \"t\": \"\\\"test\\\"ing 2\\\"\"}], \"videostream_links_count\": 0, \"name\": \"t5_3nwlq\", \"quarantine\": false, \"hide_ads\": false, \"emojis_enabled\": true, \"advertiser_category\": \"\", \"public_description\": \"Here's a newer description\", \"comment_score_hide_mins\": 0, \"user_has_favorited\": false, \"user_flair_template_id\": null, \"community_icon\": \"\", \"banner_background_image\": \"https://styles.redditmedia.com/t5_3nwlq/styles/bannerBackgroundImage_ok43sbl5d9i21.jpg\", \"original_content_tag_enabled\": false, \"submit_text\": \"\", \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Eheyo whale\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"spoilers_enabled\": true, \"header_title\": \"\", \"header_size\": null, \"user_flair_position\": \"right\", \"all_original_content\": false, \"collections_enabled\": true, \"is_enrolled_in_new_modmail\": true, \"key_color\": \"\", \"event_posts_enabled\": true, \"can_assign_user_flair\": false, \"created\": 1503566715.0, \"wls\": null, \"show_media_preview\": true, \"submission_type\": \"any\", \"user_is_subscriber\": false, \"disable_contributor_requests\": false, \"allow_videogifs\": true, \"user_flair_type\": \"richtext\", \"allow_polls\": true, \"collapse_deleted_comments\": false, \"coins\": 0, \"emojis_custom_size\": null, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EHere\\u0026#39;s a newer description\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"allow_videos\": true, \"is_crosspostable_subreddit\": true, \"notification_level\": null, \"can_assign_link_flair\": true, \"has_menu_widget\": false, \"accounts_active_is_fuzzed\": false, \"submit_text_label\": \"\", \"link_flair_position\": \"left\", \"user_sr_flair_enabled\": true, \"user_flair_enabled_in_sr\": true, \"allow_chat_post_creation\": false, \"allow_discovery\": false, \"user_sr_theme_enabled\": true, \"link_flair_enabled\": true, \"subreddit_type\": \"restricted\", \"suggested_comment_sort\": null, \"banner_img\": null, \"user_flair_text\": \"\\\"test\\\"ing 2\\\"\", \"banner_background_color\": \"\", \"show_media\": true, \"id\": \"3nwlq\", \"user_is_moderator\": true, \"over18\": false, \"description\": \"heyo whale\", \"is_chat_post_feature_enabled\": true, \"submit_link_label\": \"\", \"user_flair_text_color\": \"dark\", \"restrict_commenting\": false, \"user_flair_css_class\": \"\", \"allow_images\": true, \"lang\": \"en\", \"whitelist_status\": null, \"url\": \"/r/<TEST_SUBREDDIT>/\", \"created_utc\": 1503537915.0, \"banner_size\": null, \"mobile_banner_image\": \"\", \"user_is_contributor\": false}}"
         },
         "headers": {
           "Accept-Ranges": [
@@ -262,19 +262,19 @@
             "keep-alive"
           ],
           "Content-Length": [
-            "1308"
+            "2987"
           ],
           "Content-Type": [
             "application/json; charset=UTF-8"
           ],
           "Date": [
-            "Sun, 05 Apr 2020 00:47:30 GMT"
+            "Wed, 29 Apr 2020 07:15:14 GMT"
           ],
           "Server": [
             "snooserv"
           ],
           "Set-Cookie": [
-            "session_tracker=dQVjKrhpv5DzWyqtMb.0.1586047650555.Z0FBQUFBQmVpU3FpVFFEM1JITVVaQ3g0Qjk4a1dPcXliV3V3Qi1xb0RZT1N5cE9ncTNJMFBhcEJOWHZIUlpMbFZqNGpZZDc2cWo4bThZQnNpWTIwMVdVTEJQQ2stNHNiMkc3TlRBdkpoMHN3cm50TmYzVkt4cWhhVC1ySzRTV202ZW1nS01KQ0EwdjU; Domain=reddit.com; Max-Age=7199; Path=/; expires=Sun, 05-Apr-2020 02:47:30 GMT; secure; SameSite=None; Secure"
+            "session_tracker=4bN4U6H1I1Qw8Wb9qF.0.1588144513938.Z0FBQUFBQmVxU21CQ1ZIYTJxbFJ2RUhvV0QtVFVZdVNJbHZEMVhPeWEzUlhBQ0ZrZGoxeFcxckV4M2pKUkVBMElEdHcyQUl1RDZfZHFXbEFDNGZYMmhSRkpWTUVhT2pfRXFvYm1CY3lacWZFbGE2Sm5Dd1IwUjJsbTlsSEdFRDRGVmgxYkJQVWZYZXM; Domain=reddit.com; Max-Age=7199; Path=/; expires=Wed, 29-Apr-2020 09:15:13 GMT; secure; SameSite=None; Secure"
           ],
           "Strict-Transport-Security": [
             "max-age=15552000; includeSubDomains; preload"
@@ -295,10 +295,10 @@
             "majestic"
           ],
           "X-Served-By": [
-            "cache-lga21964-LGA"
+            "cache-sjc10033-SJC"
           ],
           "X-Timer": [
-            "S1586047651.521322,VS0,VE89"
+            "S1588144514.862189,VS0,VE190"
           ],
           "cache-control": [
             "private, s-maxage=0, max-age=0, must-revalidate, no-store, max-age=0, must-revalidate"
@@ -313,13 +313,13 @@
             "SAMEORIGIN"
           ],
           "x-ratelimit-remaining": [
-            "594.0"
+            "598.0"
           ],
           "x-ratelimit-reset": [
-            "150"
+            "287"
           ],
           "x-ratelimit-used": [
-            "6"
+            "2"
           ],
           "x-ua-compatible": [
             "IE=edge"
@@ -332,15 +332,15 @@
           "code": 200,
           "message": "OK"
         },
-        "url": "https://oauth.reddit.com/r/<TEST_SUBREDDIT>/about/edit/?raw_json=1"
+        "url": "https://oauth.reddit.com/r/<TEST_SUBREDDIT>/about/?raw_json=1"
       }
     },
     {
-      "recorded_at": "2020-04-05T00:47:30",
+      "recorded_at": "2020-04-29T07:15:14",
       "request": {
         "body": {
           "encoding": "utf-8",
-          "string": "all_original_content=False&allow_chat_post_creation=False&allow_discovery=False&allow_images=True&allow_polls=True&allow_post_crossposts=True&allow_top=False&allow_videos=True&api_type=json&collapse_deleted_comments=False&comment_score_hide_mins=0&crowd_control_chat_level=1&crowd_control_level=0&crowd_control_mode=False&description=&disable_contributor_requests=False&exclude_banned_modqueue=False&free_form_reports=True&header-title=&hide_ads=False&key_color=&lang=en&link_type=any&original_content_tag_enabled=False&over_18=False&public_description=&public_traffic=False&restrict_commenting=False&restrict_posting=True&show_media=False&show_media_preview=False&spam_comments=low&spam_links=high&spam_selfposts=high&spoilers_enabled=False&sr=t5_2bhxu0&submit_link_label=&submit_text=&submit_text_label=&title=<TEST_SUBREDDIT>xx&toxicity_threshold_chat_level=1&type=public&welcome_message_enabled=False&wiki_edit_age=0&wiki_edit_karma=0&wikimode=disabled"
+          "string": "{\"title\": \"Testing 22!x\", \"sr\": \"t5_3nwlq\"}"
         },
         "headers": {
           "Accept": [
@@ -356,25 +356,25 @@
             "keep-alive"
           ],
           "Content-Length": [
-            "955"
+            "43"
           ],
           "Content-Type": [
-            "application/x-www-form-urlencoded"
+            "application/json"
           ],
           "Cookie": [
-            "csv=1; edgebucket=cLYzmfbvkBmniB1ccA; loid=00000000005bn5wlvy.2.1577584524387.Z0FBQUFBQmVpU3FpUHBoLUs1M0V5V1hNMlNrei1FbUdENFc2UFlPQl9vU1UycnVTREtJdnlMcnJjVTdfT0EtbWxQTFF5cEpwVU1kMUgxVktFNzlOazVmRm9qMW1OTDI3ckJqbG84dGJEX3pLVVRDQTJudEZXVnByNTlnN2RsSF91a0V3a3YxWVdoOFo; session_tracker=dQVjKrhpv5DzWyqtMb.0.1586047650555.Z0FBQUFBQmVpU3FpVFFEM1JITVVaQ3g0Qjk4a1dPcXliV3V3Qi1xb0RZT1N5cE9ncTNJMFBhcEJOWHZIUlpMbFZqNGpZZDc2cWo4bThZQnNpWTIwMVdVTEJQQ2stNHNiMkc3TlRBdkpoMHN3cm50TmYzVkt4cWhhVC1ySzRTV202ZW1nS01KQ0EwdjU"
+            "csv=1; edgebucket=GJdCncr0aRnJtDpkLi; redesign_optout=true; session_tracker=4bN4U6H1I1Qw8Wb9qF.0.1588144513938.Z0FBQUFBQmVxU21CQ1ZIYTJxbFJ2RUhvV0QtVFVZdVNJbHZEMVhPeWEzUlhBQ0ZrZGoxeFcxckV4M2pKUkVBMElEdHcyQUl1RDZfZHFXbEFDNGZYMmhSRkpWTUVhT2pfRXFvYm1CY3lacWZFbGE2Sm5Dd1IwUjJsbTlsSEdFRDRGVmgxYkJQVWZYZXM"
           ],
           "User-Agent": [
-            "<USER_AGENT> PRAW/7.0.0.dev0 prawcore/1.0.1"
+            "<USER_AGENT> PRAW/7.0.1.dev0 prawcore/1.3.0"
           ]
         },
-        "method": "POST",
-        "uri": "https://oauth.reddit.com/api/site_admin/?raw_json=1"
+        "method": "PATCH",
+        "uri": "https://oauth.reddit.com/api/v1/subreddit/update_settings?raw_json=1"
       },
       "response": {
         "body": {
           "encoding": "UTF-8",
-          "string": "{\"json\": {\"errors\": []}}"
+          "string": "{\"title\": \"Testing 22!x\"}"
         },
         "headers": {
           "Accept-Ranges": [
@@ -384,13 +384,13 @@
             "keep-alive"
           ],
           "Content-Length": [
-            "24"
+            "25"
           ],
           "Content-Type": [
             "application/json; charset=UTF-8"
           ],
           "Date": [
-            "Sun, 05 Apr 2020 00:47:30 GMT"
+            "Wed, 29 Apr 2020 07:15:14 GMT"
           ],
           "Server": [
             "snooserv"
@@ -411,10 +411,10 @@
             "majestic"
           ],
           "X-Served-By": [
-            "cache-lga21964-LGA"
+            "cache-sjc10033-SJC"
           ],
           "X-Timer": [
-            "S1586047651.655462,VS0,VE135"
+            "S1588144514.065208,VS0,VE211"
           ],
           "cache-control": [
             "private, s-maxage=0, max-age=0, must-revalidate, no-store, max-age=0, must-revalidate"
@@ -423,7 +423,7 @@
             "-1"
           ],
           "set-cookie": [
-            "session_tracker=dQVjKrhpv5DzWyqtMb.0.1586047650683.Z0FBQUFBQmVpU3FpNGpRYUdycFBONTRqYUlLNF9UNmlOVnZJaHVvdVZGQUh4RW1VenRRNlRzRmQwbWktOThCRzIyeFl4TENkbmI1c3RCT3NqUVdmcXU2bFluQ0tBelMwb2pKWWRZWTh5ZlVjeGljcmhCOHdoSm56bFFaVExGdWVEVUpqc3BDSDJHRW0; Domain=reddit.com; Max-Age=7199; Path=/; expires=Sun, 05-Apr-2020 02:47:30 GMT; secure"
+            "session_tracker=4bN4U6H1I1Qw8Wb9qF.0.1588144514130.Z0FBQUFBQmVxU21DdzIzeUphSVNzbW82SHh6c3dabVhRYzFxcGhjRDhzdERDYWNzbVptbV9mTWdPeTBLTnRzRjU3emFxTTJaTU50RTR5YmI4aHVfanhfNmtOVjNORFpJbl9LRFpXSEltRExjdjhndmdCUDN0ckhFVTFJOUJxQU8yZy1lYWh6V09yMXA; Domain=reddit.com; Max-Age=7199; Path=/; expires=Wed, 29-Apr-2020 09:15:14 GMT; secure"
           ],
           "x-content-type-options": [
             "nosniff"
@@ -432,13 +432,13 @@
             "SAMEORIGIN"
           ],
           "x-ratelimit-remaining": [
-            "593.0"
+            "597.0"
           ],
           "x-ratelimit-reset": [
-            "150"
+            "286"
           ],
           "x-ratelimit-used": [
-            "7"
+            "3"
           ],
           "x-ua-compatible": [
             "IE=edge"
@@ -451,11 +451,11 @@
           "code": 200,
           "message": "OK"
         },
-        "url": "https://oauth.reddit.com/api/site_admin/?raw_json=1"
+        "url": "https://oauth.reddit.com/api/v1/subreddit/update_settings?raw_json=1"
       }
     },
     {
-      "recorded_at": "2020-04-05T00:47:30",
+      "recorded_at": "2020-04-29T07:15:14",
       "request": {
         "body": {
           "encoding": "utf-8",
@@ -475,10 +475,10 @@
             "keep-alive"
           ],
           "Cookie": [
-            "csv=1; edgebucket=cLYzmfbvkBmniB1ccA; loid=00000000005bn5wlvy.2.1577584524387.Z0FBQUFBQmVpU3FpUHBoLUs1M0V5V1hNMlNrei1FbUdENFc2UFlPQl9vU1UycnVTREtJdnlMcnJjVTdfT0EtbWxQTFF5cEpwVU1kMUgxVktFNzlOazVmRm9qMW1OTDI3ckJqbG84dGJEX3pLVVRDQTJudEZXVnByNTlnN2RsSF91a0V3a3YxWVdoOFo; session_tracker=dQVjKrhpv5DzWyqtMb.0.1586047650683.Z0FBQUFBQmVpU3FpNGpRYUdycFBONTRqYUlLNF9UNmlOVnZJaHVvdVZGQUh4RW1VenRRNlRzRmQwbWktOThCRzIyeFl4TENkbmI1c3RCT3NqUVdmcXU2bFluQ0tBelMwb2pKWWRZWTh5ZlVjeGljcmhCOHdoSm56bFFaVExGdWVEVUpqc3BDSDJHRW0"
+            "csv=1; edgebucket=GJdCncr0aRnJtDpkLi; redesign_optout=true; session_tracker=4bN4U6H1I1Qw8Wb9qF.0.1588144514130.Z0FBQUFBQmVxU21DdzIzeUphSVNzbW82SHh6c3dabVhRYzFxcGhjRDhzdERDYWNzbVptbV9mTWdPeTBLTnRzRjU3emFxTTJaTU50RTR5YmI4aHVfanhfNmtOVjNORFpJbl9LRFpXSEltRExjdjhndmdCUDN0ckhFVTFJOUJxQU8yZy1lYWh6V09yMXA"
           ],
           "User-Agent": [
-            "<USER_AGENT> PRAW/7.0.0.dev0 prawcore/1.0.1"
+            "<USER_AGENT> PRAW/7.0.1.dev0 prawcore/1.3.0"
           ]
         },
         "method": "GET",
@@ -487,7 +487,7 @@
       "response": {
         "body": {
           "encoding": "UTF-8",
-          "string": "{\"kind\": \"t5\", \"data\": {\"user_flair_background_color\": \"#00ffff\", \"submit_text_html\": null, \"restrict_posting\": true, \"user_is_banned\": false, \"free_form_reports\": true, \"wiki_enabled\": true, \"user_is_muted\": false, \"user_can_flair_in_sr\": true, \"display_name\": \"<TEST_SUBREDDIT>\", \"header_img\": null, \"title\": \"<TEST_SUBREDDIT>xx\", \"icon_size\": null, \"primary_color\": \"#ffd635\", \"active_user_count\": 5, \"icon_img\": \"\", \"display_name_prefixed\": \"r/<TEST_SUBREDDIT>\", \"accounts_active\": 5, \"public_traffic\": false, \"subscribers\": 1, \"user_flair_richtext\": [{\"e\": \"text\", \"t\": \"PRAW updated\"}], \"videostream_links_count\": 0, \"name\": \"t5_2bhxu0\", \"quarantine\": false, \"hide_ads\": false, \"emojis_enabled\": true, \"advertiser_category\": \"\", \"public_description\": \"\", \"comment_score_hide_mins\": 0, \"user_has_favorited\": false, \"user_flair_template_id\": \"488f9b30-2a6e-11ea-a5e1-0e48d7ccc6bf\", \"community_icon\": \"\", \"banner_background_image\": \"https://styles.redditmedia.com/t5_2bhxu0/styles/bannerBackgroundImage_278fuhh3t8941.png\", \"original_content_tag_enabled\": false, \"submit_text\": \"\", \"description_html\": null, \"spoilers_enabled\": false, \"header_title\": \"\", \"header_size\": null, \"user_flair_position\": \"right\", \"all_original_content\": false, \"collections_enabled\": true, \"is_enrolled_in_new_modmail\": true, \"key_color\": \"\", \"event_posts_enabled\": true, \"can_assign_user_flair\": true, \"created\": 1577618351.0, \"wls\": null, \"show_media_preview\": false, \"submission_type\": \"any\", \"user_is_subscriber\": true, \"disable_contributor_requests\": false, \"allow_videogifs\": true, \"user_flair_type\": \"richtext\", \"allow_polls\": true, \"collapse_deleted_comments\": false, \"coins\": 0, \"emojis_custom_size\": null, \"public_description_html\": null, \"allow_videos\": true, \"is_crosspostable_subreddit\": true, \"notification_level\": \"low\", \"can_assign_link_flair\": true, \"has_menu_widget\": false, \"accounts_active_is_fuzzed\": false, \"submit_text_label\": \"\", \"link_flair_position\": \"right\", \"user_sr_flair_enabled\": true, \"user_flair_enabled_in_sr\": true, \"allow_discovery\": false, \"user_sr_theme_enabled\": true, \"link_flair_enabled\": true, \"subreddit_type\": \"public\", \"suggested_comment_sort\": null, \"banner_img\": \"\", \"user_flair_text\": \"PRAW updated\", \"banner_background_color\": \"\", \"show_media\": false, \"id\": \"2bhxu0\", \"user_is_moderator\": true, \"over18\": false, \"description\": \"\", \"submit_link_label\": \"\", \"user_flair_text_color\": \"dark\", \"restrict_commenting\": false, \"user_flair_css_class\": \"myCSS\", \"allow_images\": true, \"lang\": \"en\", \"whitelist_status\": null, \"url\": \"/r/<TEST_SUBREDDIT>/\", \"created_utc\": 1577589551.0, \"banner_size\": null, \"mobile_banner_image\": \"\", \"user_is_contributor\": false}}"
+          "string": "{\"kind\": \"t5\", \"data\": {\"user_flair_background_color\": \"\", \"submit_text_html\": null, \"restrict_posting\": true, \"user_is_banned\": false, \"free_form_reports\": true, \"wiki_enabled\": true, \"user_is_muted\": false, \"user_can_flair_in_sr\": true, \"display_name\": \"<TEST_SUBREDDIT>\", \"header_img\": null, \"title\": \"Testing 22!x\", \"icon_size\": null, \"primary_color\": \"\", \"active_user_count\": 8, \"icon_img\": null, \"display_name_prefixed\": \"r/<TEST_SUBREDDIT>\", \"accounts_active\": 8, \"public_traffic\": false, \"subscribers\": 1, \"user_flair_richtext\": [{\"e\": \"text\", \"t\": \"\\\"test\\\"ing 2\\\"\"}], \"videostream_links_count\": 0, \"name\": \"t5_3nwlq\", \"quarantine\": false, \"hide_ads\": false, \"emojis_enabled\": true, \"advertiser_category\": \"\", \"public_description\": \"Here's a newer description\", \"comment_score_hide_mins\": 0, \"user_has_favorited\": false, \"user_flair_template_id\": null, \"community_icon\": \"\", \"banner_background_image\": \"https://styles.redditmedia.com/t5_3nwlq/styles/bannerBackgroundImage_ok43sbl5d9i21.jpg\", \"original_content_tag_enabled\": false, \"submit_text\": \"\", \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Eheyo whale\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"spoilers_enabled\": true, \"header_title\": \"\", \"header_size\": null, \"user_flair_position\": \"right\", \"all_original_content\": false, \"collections_enabled\": true, \"is_enrolled_in_new_modmail\": true, \"key_color\": \"\", \"event_posts_enabled\": true, \"can_assign_user_flair\": false, \"created\": 1503566715.0, \"wls\": null, \"show_media_preview\": true, \"submission_type\": \"any\", \"user_is_subscriber\": false, \"disable_contributor_requests\": false, \"allow_videogifs\": true, \"user_flair_type\": \"richtext\", \"allow_polls\": true, \"collapse_deleted_comments\": false, \"coins\": 0, \"emojis_custom_size\": null, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EHere\\u0026#39;s a newer description\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"allow_videos\": true, \"is_crosspostable_subreddit\": true, \"notification_level\": null, \"can_assign_link_flair\": true, \"has_menu_widget\": false, \"accounts_active_is_fuzzed\": false, \"submit_text_label\": \"\", \"link_flair_position\": \"left\", \"user_sr_flair_enabled\": true, \"user_flair_enabled_in_sr\": true, \"allow_chat_post_creation\": false, \"allow_discovery\": false, \"user_sr_theme_enabled\": true, \"link_flair_enabled\": true, \"subreddit_type\": \"restricted\", \"suggested_comment_sort\": null, \"banner_img\": null, \"user_flair_text\": \"\\\"test\\\"ing 2\\\"\", \"banner_background_color\": \"\", \"show_media\": true, \"id\": \"3nwlq\", \"user_is_moderator\": true, \"over18\": false, \"description\": \"heyo whale\", \"is_chat_post_feature_enabled\": true, \"submit_link_label\": \"\", \"user_flair_text_color\": \"dark\", \"restrict_commenting\": false, \"user_flair_css_class\": \"\", \"allow_images\": true, \"lang\": \"en\", \"whitelist_status\": null, \"url\": \"/r/<TEST_SUBREDDIT>/\", \"created_utc\": 1503537915.0, \"banner_size\": null, \"mobile_banner_image\": \"\", \"user_is_contributor\": false}}"
         },
         "headers": {
           "Accept-Ranges": [
@@ -497,19 +497,19 @@
             "keep-alive"
           ],
           "Content-Length": [
-            "2677"
+            "2988"
           ],
           "Content-Type": [
             "application/json; charset=UTF-8"
           ],
           "Date": [
-            "Sun, 05 Apr 2020 00:47:30 GMT"
+            "Wed, 29 Apr 2020 07:15:14 GMT"
           ],
           "Server": [
             "snooserv"
           ],
           "Set-Cookie": [
-            "session_tracker=dQVjKrhpv5DzWyqtMb.0.1586047650854.Z0FBQUFBQmVpU3Fpa0pDSUYwbWdXVGRVSE9mWjd1QTdwNVNCUHdwRHJHandZUTNLSWpLU25WbFBwMXhlWmlmT0VyTnZnWWlxaUtRYzgtWlJVVVZ0dTlXcEx5M19Vamg0OG5WanZld1VyMUdOanoxMkVwMjJ5bEQyOUJiYWI0NTJVbzRHemdBb2VNcEY; Domain=reddit.com; Max-Age=7199; Path=/; expires=Sun, 05-Apr-2020 02:47:30 GMT; secure; SameSite=None; Secure"
+            "session_tracker=4bN4U6H1I1Qw8Wb9qF.0.1588144514494.Z0FBQUFBQmVxU21DSHB3VllPM2lCd3NfbUR1QnpMYU11Ti1zemM0dXpDTVBCM1I4MWRnRVVtbEgtbHg5WVU1bmVveGFmclplVnQ0X2JPQkZoVGQ3T2F3cUFRb25GLVMyelVQRFlrbGVvZkNha2RRaGJxazJlWFN6RGhpTjh2WmJXQzhNMVlpcHBRdGo; Domain=reddit.com; Max-Age=7199; Path=/; expires=Wed, 29-Apr-2020 09:15:14 GMT; secure; SameSite=None; Secure"
           ],
           "Strict-Transport-Security": [
             "max-age=15552000; includeSubDomains; preload"
@@ -530,10 +530,10 @@
             "majestic"
           ],
           "X-Served-By": [
-            "cache-lga21964-LGA"
+            "cache-sjc10033-SJC"
           ],
           "X-Timer": [
-            "S1586047651.813733,VS0,VE138"
+            "S1588144514.384099,VS0,VE231"
           ],
           "cache-control": [
             "private, s-maxage=0, max-age=0, must-revalidate, no-store, max-age=0, must-revalidate"
@@ -548,13 +548,13 @@
             "SAMEORIGIN"
           ],
           "x-ratelimit-remaining": [
-            "592.0"
+            "596.0"
           ],
           "x-ratelimit-reset": [
-            "150"
+            "286"
           ],
           "x-ratelimit-used": [
-            "8"
+            "4"
           ],
           "x-ua-compatible": [
             "IE=edge"
@@ -571,7 +571,7 @@
       }
     },
     {
-      "recorded_at": "2020-04-05T00:47:31",
+      "recorded_at": "2020-04-29T07:15:14",
       "request": {
         "body": {
           "encoding": "utf-8",
@@ -591,10 +591,10 @@
             "keep-alive"
           ],
           "Cookie": [
-            "csv=1; edgebucket=cLYzmfbvkBmniB1ccA; loid=00000000005bn5wlvy.2.1577584524387.Z0FBQUFBQmVpU3FpUHBoLUs1M0V5V1hNMlNrei1FbUdENFc2UFlPQl9vU1UycnVTREtJdnlMcnJjVTdfT0EtbWxQTFF5cEpwVU1kMUgxVktFNzlOazVmRm9qMW1OTDI3ckJqbG84dGJEX3pLVVRDQTJudEZXVnByNTlnN2RsSF91a0V3a3YxWVdoOFo; session_tracker=dQVjKrhpv5DzWyqtMb.0.1586047650854.Z0FBQUFBQmVpU3Fpa0pDSUYwbWdXVGRVSE9mWjd1QTdwNVNCUHdwRHJHandZUTNLSWpLU25WbFBwMXhlWmlmT0VyTnZnWWlxaUtRYzgtWlJVVVZ0dTlXcEx5M19Vamg0OG5WanZld1VyMUdOanoxMkVwMjJ5bEQyOUJiYWI0NTJVbzRHemdBb2VNcEY"
+            "csv=1; edgebucket=GJdCncr0aRnJtDpkLi; redesign_optout=true; session_tracker=4bN4U6H1I1Qw8Wb9qF.0.1588144514494.Z0FBQUFBQmVxU21DSHB3VllPM2lCd3NfbUR1QnpMYU11Ti1zemM0dXpDTVBCM1I4MWRnRVVtbEgtbHg5WVU1bmVveGFmclplVnQ0X2JPQkZoVGQ3T2F3cUFRb25GLVMyelVQRFlrbGVvZkNha2RRaGJxazJlWFN6RGhpTjh2WmJXQzhNMVlpcHBRdGo"
           ],
           "User-Agent": [
-            "<USER_AGENT> PRAW/7.0.0.dev0 prawcore/1.0.1"
+            "<USER_AGENT> PRAW/7.0.1.dev0 prawcore/1.3.0"
           ]
         },
         "method": "GET",
@@ -603,7 +603,7 @@
       "response": {
         "body": {
           "encoding": "UTF-8",
-          "string": "{\"kind\": \"subreddit_settings\", \"data\": {\"default_set\": false, \"toxicity_threshold_chat_level\": 1, \"crowd_control_chat_level\": 1, \"restrict_posting\": true, \"subreddit_id\": \"t5_2bhxu0\", \"allow_images\": true, \"free_form_reports\": true, \"domain\": null, \"show_media\": false, \"wiki_edit_age\": 0, \"submit_text\": \"\", \"spam_selfposts\": \"high\", \"title\": \"<TEST_SUBREDDIT>xx\", \"collapse_deleted_comments\": false, \"wikimode\": \"disabled\", \"over_18\": false, \"allow_videos\": true, \"spoilers_enabled\": false, \"crowd_control_level\": 0, \"crowd_control_mode\": false, \"welcome_message_enabled\": false, \"welcome_message_text\": null, \"suggested_comment_sort\": null, \"disable_contributor_requests\": false, \"original_content_tag_enabled\": false, \"description\": \"\", \"submit_link_label\": \"\", \"allow_post_crossposts\": true, \"spam_comments\": \"low\", \"public_traffic\": false, \"restrict_commenting\": false, \"allow_polls\": true, \"submit_text_label\": \"\", \"all_original_content\": false, \"key_color\": \"\", \"language\": \"en\", \"wiki_edit_karma\": 0, \"hide_ads\": false, \"header_hover_text\": \"\", \"allow_chat_post_creation\": false, \"allow_discovery\": false, \"public_description\": \"\", \"show_media_preview\": false, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"public\", \"spam_links\": \"high\", \"exclude_banned_modqueue\": false, \"content_options\": \"any\"}}"
+          "string": "{\"kind\": \"subreddit_settings\", \"data\": {\"default_set\": true, \"toxicity_threshold_chat_level\": 1, \"crowd_control_chat_level\": 1, \"restrict_posting\": true, \"subreddit_id\": \"t5_3nwlq\", \"allow_images\": true, \"free_form_reports\": true, \"domain\": null, \"show_media\": true, \"wiki_edit_age\": 0, \"submit_text\": \"\", \"spam_selfposts\": \"high\", \"title\": \"Testing 22!x\", \"collapse_deleted_comments\": false, \"wikimode\": \"disabled\", \"over_18\": false, \"allow_videos\": true, \"spoilers_enabled\": true, \"crowd_control_level\": 0, \"crowd_control_mode\": false, \"welcome_message_enabled\": true, \"welcome_message_text\": \"This is the welcome message now!\", \"suggested_comment_sort\": null, \"disable_contributor_requests\": false, \"original_content_tag_enabled\": false, \"description\": \"heyo whale\", \"submit_link_label\": \"\", \"allow_post_crossposts\": true, \"spam_comments\": \"low\", \"public_traffic\": false, \"restrict_commenting\": false, \"allow_polls\": true, \"submit_text_label\": \"\", \"all_original_content\": false, \"key_color\": \"\", \"language\": \"en\", \"wiki_edit_karma\": 100, \"hide_ads\": false, \"header_hover_text\": \"\", \"allow_chat_post_creation\": false, \"allow_discovery\": false, \"public_description\": \"Here's a newer description\", \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"restricted\", \"spam_links\": \"high\", \"exclude_banned_modqueue\": false, \"content_options\": \"any\"}}"
         },
         "headers": {
           "Accept-Ranges": [
@@ -613,19 +613,19 @@
             "keep-alive"
           ],
           "Content-Length": [
-            "1309"
+            "1370"
           ],
           "Content-Type": [
             "application/json; charset=UTF-8"
           ],
           "Date": [
-            "Sun, 05 Apr 2020 00:47:31 GMT"
+            "Wed, 29 Apr 2020 07:15:14 GMT"
           ],
           "Server": [
             "snooserv"
           ],
           "Set-Cookie": [
-            "session_tracker=dQVjKrhpv5DzWyqtMb.0.1586047651010.Z0FBQUFBQmVpU3FqRTBSZmhIZ0hxZTJxVGJXUFJFMVRpRy1EcWExVlVCV3FIbVFnM1BZbHNVTnZ5aWM2M2paVHVGbmNRY040eVhBdjZnd1hZQk5EWno1NVRfemMwX2luTTFvRkxVaVh2NWc2ZHlJWG5SXzhRWmdwUFBRa08yYWNXS1EtVER4QWNwVnE; Domain=reddit.com; Max-Age=7199; Path=/; expires=Sun, 05-Apr-2020 02:47:31 GMT; secure; SameSite=None; Secure"
+            "session_tracker=4bN4U6H1I1Qw8Wb9qF.0.1588144514754.Z0FBQUFBQmVxU21DbjJpSWxQb2hGWWpQVVRCTWVMZ0x2RVAyUE9QZEF6bmY3Mm9mbzZtWnhseW40UGk1TGRPTVlwQlVndkNZazdlcXJ0cUpfSFBtVzlEMkk0eVRyZ3o1bnAxdDRwOGJ4UlEwdkxTcy1sUjlObmN1WDktY2xZOGVrRUdmNjM1Ukp4WlU; Domain=reddit.com; Max-Age=7199; Path=/; expires=Wed, 29-Apr-2020 09:15:14 GMT; secure; SameSite=None; Secure"
           ],
           "Strict-Transport-Security": [
             "max-age=15552000; includeSubDomains; preload"
@@ -646,10 +646,10 @@
             "majestic"
           ],
           "X-Served-By": [
-            "cache-lga21964-LGA"
+            "cache-sjc10033-SJC"
           ],
           "X-Timer": [
-            "S1586047651.980831,VS0,VE70"
+            "S1588144515.691459,VS0,VE135"
           ],
           "cache-control": [
             "private, s-maxage=0, max-age=0, must-revalidate, no-store, max-age=0, must-revalidate"
@@ -664,13 +664,13 @@
             "SAMEORIGIN"
           ],
           "x-ratelimit-remaining": [
-            "591.0"
+            "595.0"
           ],
           "x-ratelimit-reset": [
-            "149"
+            "286"
           ],
           "x-ratelimit-used": [
-            "9"
+            "5"
           ],
           "x-ua-compatible": [
             "IE=edge"