{"id":15871,"date":"2011-01-18T00:01:00","date_gmt":"2011-01-18T00:01:00","guid":{"rendered":"https:\/\/blogs.technet.microsoft.com\/heyscriptingguy\/2011\/01\/18\/use-powershell-history-to-speed-repetitive-commands\/"},"modified":"2011-01-18T00:01:00","modified_gmt":"2011-01-18T00:01:00","slug":"use-powershell-history-to-speed-repetitive-commands","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/scripting\/use-powershell-history-to-speed-repetitive-commands\/","title":{"rendered":"Use PowerShell History to Speed Repetitive Commands"},"content":{"rendered":"<p><span style=\"font-size:10.0pt\">&nbsp;<\/span><span style=\"font-size:10.0pt\">&nbsp;<\/span><\/p>\n<p><b><span style=\"font-size:10.0pt\">Summary:<\/span><\/b><span style=\"font-size:10.0pt\"> Learn how to use the Windows PowerShell history cmdlets to speed execution of repetitive commands.<\/span><\/p>\n<p><span style=\"font-size:10.0pt\">&nbsp;<\/span><\/p>\n<p><span style=\"font-size:10.0pt\"><span style=\"font-size: 10pt\"><span style=\"font-size: 10pt\"><span style=\"font-size: 10pt\"><span style=\"font-size: 10pt\"><span style=\"font-size: 10pt\"><span style=\"font-size: 10pt\"><span style=\"font-size: 10pt\"><span style=\"font-size: 10pt\"><span style=\"font-size: 10pt\"><span style=\"font-size: 10pt\"><span style=\"font-size: 10pt\"><span style=\"font-size: 10pt\"><span style=\"font-size: 10pt\"><span style=\"font-size: 10pt\"><span style=\"font-size: 10pt\"><span style=\"font-size: 10pt\"><span style=\"font-size: 10pt\"><span style=\"font-size: 10pt\"><span style=\"font-size: 10pt\"><span style=\"font-size: 10pt\"><span style=\"font-size: 10pt\"><span style=\"font-size: 10pt\"><span style=\"font-size: 10pt\"><span style=\"font-size: 10pt\"><span style=\"font-size: 10pt\"><img decoding=\"async\" height=\"34\" width=\"34\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/29\/2019\/02\/q-for-powertip.jpg\" align=\"left\" alt=\"Hey, Scripting Guy! Question\" border=\"0\" title=\"Hey, Scripting Guy! Question\" \/><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span>Hey, Scripting Guy! I recently read that Windows PowerShell keeps a history of commands. I am not sure if this is true or not because I cannot seem to figure out how to get to that history. Even if I did get the history of my Windows PowerShell, I am not sure what I would have. It seems it might be useless, or am I wrong?<\/span><\/p>\n<p><span style=\"font-size:10.0pt\">&#8212; JB<\/span><\/p>\n<p><span style=\"font-size:10.0pt\">&nbsp;<\/span><\/p>\n<p><span style=\"font-size:10.0pt\"><span style=\"font-size: 10pt\"><span style=\"font-size: 10pt\"><span style=\"font-size: 10pt\"><span style=\"font-size: 10pt\"><span style=\"font-size: 10pt\"><span style=\"font-size: 10pt\"><span style=\"font-size: 10pt\"><span style=\"font-size: 10pt\"><span style=\"font-size: 10pt\"><span style=\"font-size: 10pt\"><span style=\"font-size: 10pt\"><span style=\"font-size: 10pt\"><span style=\"font-size: 10pt\"><span style=\"font-size: 10pt\"><span style=\"font-size: 10pt\"><span style=\"font-size: 10pt\"><span style=\"font-size: 10pt\"><span style=\"font-size: 10pt\"><span style=\"font-size: 10pt\"><span style=\"font-size: 10pt\"><span style=\"font-size: 10pt\"><span style=\"font-size: 10pt\"><span style=\"font-size: 10pt\"><span style=\"font-size: 10pt\"><img decoding=\"async\" height=\"34\" width=\"34\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/29\/2019\/02\/a-for-powertip.jpg\" align=\"left\" alt=\"Hey, Scripting Guy! Answer\" border=\"0\" title=\"Hey, Scripting Guy! Answer\" \/><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span>Hello JB, Microsoft Scripting Guy Ed Wilson here. The Scripting Wife and I are in one of the oldest places in the United States, St. Augustine, Florida. When I was a kid growing up in Florida, St. Augustine was my favorite place to visit because I have always been fascinated with history. The Spanish <a href=\"http:\/\/en.wikipedia.org\/wiki\/Castillo_de_San_Marcos\">Castillo de San Marcos<\/a> still maintains its fascination for me. Here is a picture I took today of Dr. Scripto hanging at the 300 year old fortress.<\/span><\/p>\n<p><span style=\"font-size:10.0pt\"><img decoding=\"async\" src=\"https:\/\/msdnshared.blob.core.windows.net\/media\/TNBlogsFS\/prod.evol.blogs.technet.com\/CommunityServer.Blogs.Components.WeblogFiles\/00\/00\/00\/76\/18\/5706.HSG-1-18-11-1.jpg\" border=\"0\" \/><\/span><span style=\"font-size:10.0pt\">&nbsp;<\/span><\/p>\n<p><span style=\"font-size:10.0pt\">JB, there is also the story about Ponce de Le<\/span><span style=\"font-size:10.0pt;font-family:'Lucida Sans Typewriter','sans-serif'\">&oacute;<\/span><span style=\"font-size:10.0pt\">n looking for the fountain of youth but as you can see, Dr. Scripto has indeed found it for he has not aged a bit (no pun intended) in all the years I have known him. What is the fountain of youth you may ask? It is scripting! Yes, scripting is what keeps Dr. Scripto young and helps him to maintain his youthful appearance. <\/span><\/p>\n<p><span style=\"font-size:10.0pt\">Speaking of history, there are four Windows PowerShell cmdlets that allow you to work with history. The cmdlets appear here.<\/span><\/p>\n<p style=\"margin-left:0.5in\"><span style=\"font-size: 10pt\"><span style=\"font-family: courier new,courier\">PS C:\\&gt; Get-Command -Noun history<\/span><\/span><\/p>\n<p style=\"margin-left:0.5in\"><span style=\"font-size: 10pt\"><span style=\"font-family: courier new,courier\">&nbsp;<\/span><\/span><\/p>\n<p style=\"margin-left:0.5in\"><span style=\"font-size: 10pt\"><span style=\"font-family: courier new,courier\">CommandType<span>&nbsp;&nbsp;&nbsp;&nbsp; <\/span>Name<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>Definition<\/span><\/span><\/p>\n<p style=\"margin-left:0.5in\"><span style=\"font-size: 10pt\"><span style=\"font-family: courier new,courier\">&#8212;&#8212;&#8212;&#8211;<span>&nbsp;&nbsp;&nbsp;&nbsp; <\/span>&#8212;-<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>&#8212;&#8212;&#8212;-<\/span><\/span><\/p>\n<p style=\"margin-left:0.5in\"><span style=\"font-size: 10pt\"><span style=\"font-family: courier new,courier\">Cmdlet<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>Add-History<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>Add-History [[-InputObject] &lt;PSObject[&#8230;<\/span><\/span><\/p>\n<p style=\"margin-left:0.5in\"><span style=\"font-size: 10pt\"><span style=\"font-family: courier new,courier\">Cmdlet<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>Clear-History<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>Clear-History [[-Id] &lt;Int32[]&gt;] [[-Cou&#8230;<\/span><\/span><\/p>\n<p style=\"margin-left:0.5in\"><span style=\"font-size: 10pt\"><span style=\"font-family: courier new,courier\">Cmdlet<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>Get-History<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span>Get-History [[-Id] &lt;Int64[]&gt;] [[-Count&#8230;<\/span><\/span><\/p>\n<p style=\"margin-left:0.5in\"><span style=\"font-size: 10pt\"><span style=\"font-family: courier new,courier\">Cmdlet<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>Invoke-History<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>Invoke-History [[-Id] &lt;String&gt;] [-Verb&#8230;<\/span><\/span><\/p>\n<p style=\"margin-left:0.5in\"><span style=\"font-size: 10pt\"><span style=\"font-family: courier new,courier\">&nbsp;<\/span><\/span><\/p>\n<p style=\"margin-left:0.5in\"><span style=\"font-size: 10pt\"><span style=\"font-family: courier new,courier\">&nbsp;<\/span><\/span><\/p>\n<p style=\"margin-left:0.5in\"><span style=\"font-size: 10pt\"><span style=\"font-family: courier new,courier\">PS C:\\&gt;<\/span><\/span><\/p>\n<p><span style=\"font-size:10.0pt\">&nbsp;<\/span><\/p>\n<p><span style=\"font-size:10.0pt\">When I am looking for cmdlets that allow me to work with a particular thing, I use the <b>Get-Command<\/b> cmdlet and supply the thing I am looking for to the <i>noun<\/i> parameter. When I wish to obtain something, or to retrieve something, the verb is always <i>get.<\/i> Given this pattern, it is easy to discover that the command that allows me to get the history would be called <b>Get-History<\/b><i>.<\/i> This intuitive pattern of naming is one of features that Windows PowerShell uses to aid in command discovery. When writing Windows PowerShell cmdlets or even when writing functions, one should always use approved verbs, and follow the verb-noun naming convention. <\/span><\/p>\n<p><span style=\"font-size:10.0pt\">JB, one way I use the history is when I am experimenting with different commands, and I am attempting to work out a syntax that might be strange. I find that when I type more than a dozen different commands, I begin to forget what I have typed and I lose their position in the &ldquo;up arrow&rdquo; &ldquo;down arrow&rdquo; &ldquo;recall a recent command&rdquo; queue. Because several commands may, in fact, have very similar configurations, with only a single subtle difference amongst them, I find it hard to pick the command that works correctly. This is when I reach for the <b>Get-History<\/b> Windows PowerShell cmdlet. By displaying a history of my command attempts, in the order in which they were typed, I can easily pick out the one that works the way I wish. When I am working interactively like this, I use the alias <i>h<\/i> instead of typing <b>Get-History<\/b>. <\/span><\/p>\n<p><span style=\"font-size:10.0pt\">To run a command from the history buffer, I could, of course, highlight the command with my mouse, press <b>Enter<\/b> to copy the command onto the clipboard, and then right-click on the Windows PowerShell console command line to paste the command onto a line. I then press <b>Enter<\/b> to run the command. It is a lot of mousing around, but is probably better than attempting to retype the command. However, there is a much shorter solution. I use the <b>Invoke-History<\/b> Windows PowerShell cmdlet to run the command. When working interactively, I use the alias <i>r<\/i> instead of typing <b>Invoke-History<\/b>. Therefore I have two really short aliases at my disposal: <i>h<\/i> for <b>Get-History<\/b> and <i>r<\/i> for <b>Invoke-History<\/b>. I think of <i>r<\/i> as standing for run as it helps me to remember the alias. In the following figure, I retrieve the history of 13 commands that were typed into the Windows PowerShell console by using the alias <i>h<\/i> instead of typing the complete <b>Get-History<\/b> command. Once I have a chance to review the 13 commands, I see that the one I am interested in running again is the 13 command. The command to run the 13 command uses the alias <i>r<\/i> for <b>Invoke-History<\/b>, and I specify that I want event ID 13 to execute. <\/span><\/p>\n<p><span style=\"font-size:10.0pt\"><img decoding=\"async\" src=\"https:\/\/msdnshared.blob.core.windows.net\/media\/TNBlogsFS\/prod.evol.blogs.technet.com\/CommunityServer.Blogs.Components.WeblogFiles\/00\/00\/00\/76\/18\/0753.HSG-1-18-11-2.jpg\" border=\"0\" \/><\/span><span style=\"font-size:10.0pt\">&nbsp;<\/span><\/p>\n<p><span style=\"font-size:10.0pt\">Suppose I have typed several commands to check the status of the search service on my Windows 7 laptop. I make some changes, and then would like to run all of the commands a second time. This is a fresh Windows PowerShell console, and I have only typed the three commands that are listed here. I use the alias <i>gps<\/i> for the <b>Get-Process<\/b> cmdlet, and I use the alias <i>gsv<\/i> for the <b>Get-Service<\/b> cmdlet. The three commands are listed here. <\/span><\/p>\n<p style=\"margin-left:0.5in\"><span style=\"font-size: 10pt\"><span style=\"font-family: courier new,courier\">Get-WinEvent -FilterHashtable @{&#8220;id&#8221;=&#8221;3036&#8243;;&#8221;logname&#8221;=&#8221;application&#8221;} -maxevents 5<\/span><\/span><\/p>\n<p style=\"margin-left:0.5in\"><span style=\"font-size: 10pt\"><span style=\"font-family: courier new,courier\">gps -Name *search*<\/span><\/span><\/p>\n<p style=\"margin-left:0.5in\"><span style=\"font-size: 10pt\"><span style=\"font-family: courier new,courier\">gsv -Name *search*<\/span><\/span><\/p>\n<p><span style=\"font-size:10.0pt\">&nbsp;<\/span><\/p>\n<p><span style=\"font-size:10.0pt\">The commands and their associated output appear in the following figure.<\/span><\/p>\n<p><span style=\"font-size:10.0pt\"><img decoding=\"async\" src=\"https:\/\/msdnshared.blob.core.windows.net\/media\/TNBlogsFS\/prod.evol.blogs.technet.com\/CommunityServer.Blogs.Components.WeblogFiles\/00\/00\/00\/76\/18\/0508.HSG-1-18-11-3.jpg\" border=\"0\" \/><\/span><span style=\"font-size:10.0pt\">&nbsp;<\/span><\/p>\n<p><span style=\"font-size:10.0pt\">To run these three commands automatically, I use the <b>Get-History<\/b> cmdlet to retrieve a listing of the commands, I then pipeline them to the <b>Foreach-Object<\/b> cmdlet, and inside the scriptblock I call the <b>Invoke-History<\/b> cmdlet and pass it the <i>id <\/i>property of each command. The version of the command I run uses aliases as appears here.<\/span><\/p>\n<p style=\"margin-left:0.5in\"><span style=\"font-size: 10pt\"><span style=\"font-family: courier new,courier\">h | % {r $_.id}<\/span><\/span><\/p>\n<p><span style=\"font-size:10.0pt\">&nbsp;<\/span><\/p>\n<p><span style=\"font-size:10.0pt\">The command without using aliases appears here.<\/span><\/p>\n<p style=\"margin-left:0.5in\"><span style=\"font-size: 10pt\"><span style=\"font-family: courier new,courier\">Get-History | Foreach-Object { Invoke-History &ndash;id $_.id }<\/span><\/span><\/p>\n<p><span style=\"font-size:10.0pt\">&nbsp;<\/span><\/p>\n<p><span style=\"font-size:10.0pt\">The output from the command appears in the following figure.<\/span><\/p>\n<p><span style=\"font-size:10.0pt\"><img decoding=\"async\" src=\"https:\/\/msdnshared.blob.core.windows.net\/media\/TNBlogsFS\/prod.evol.blogs.technet.com\/CommunityServer.Blogs.Components.WeblogFiles\/00\/00\/00\/76\/18\/3731.HSG-1-18-11-4.jpg\" border=\"0\" \/><\/span><span style=\"font-size:10.0pt\">&nbsp;<\/span><\/p>\n<p><span style=\"font-size:10.0pt\">The alias command is hard to read, but the worst thing is that the output from the <b>Get-Process<\/b> cmdlet (<i>gps<\/i>) and the output form the <b>Get-Service<\/b> cmdlet (<i>gsv<\/i>) does not display properly. After spending over an hour messing around, I arrive at the conclusion that when the <b>Get-WinEvent<\/b> cmdlet runs first, it messes up the output display in the console. The solution is to change the order. The cool thing about this is that it provides an opportunity to display running only selected commands, and in a different order. <span>&nbsp;<\/span><\/span><\/p>\n<p><span style=\"font-size:10.0pt\">I use the command seen here to run the second, third, and the first commands in the history buffer.<\/span><\/p>\n<p style=\"margin-left:0.5in\"><span style=\"font-size: 10pt\"><span style=\"font-family: courier new,courier\">Get-History 2,3,1 | Foreach-Object { Invoke-History -id $_.id }<\/span><\/span><\/p>\n<p><span style=\"font-size:10.0pt\">&nbsp;<\/span><\/p>\n<p><span style=\"font-size:10.0pt\">The output of the history buffer and the command seen above appears in the following figure.<\/span><\/p>\n<p><span style=\"font-size:10.0pt\"><img decoding=\"async\" src=\"https:\/\/msdnshared.blob.core.windows.net\/media\/TNBlogsFS\/prod.evol.blogs.technet.com\/CommunityServer.Blogs.Components.WeblogFiles\/00\/00\/00\/76\/18\/4774.HSG-1-18-11-5.jpg\" border=\"0\" \/><\/span><span style=\"font-size:10.0pt\">&nbsp;<\/span><\/p>\n<p><span style=\"font-size:10.0pt\">JB, that is all there is to using <b>Get-History<\/b> and <b>Invoke-History<\/b>. Neglected cmdlet week will continue tomorrow when I will talk about the <b>Add-History<\/b> cmdlet. <\/span><\/p>\n<p><span style=\"font-size:10.0pt\">I invite you to follow me on <a target=\"_blank\" href=\"http:\/\/bit.ly\/scriptingguystwitter\">Twitter<\/a> or <a href=\"http:\/\/bit.ly\/scriptingguysfacebook\">Facebook<\/a>. If you have any questions, send email to me at <a target=\"_blank\" href=\"mailto:scripter@microsoft.com\">scripter@microsoft.com<\/a> or post them on the <a target=\"_blank\" href=\"http:\/\/bit.ly\/scriptingforum\">Official Scripting Guys Forum<\/a>. See you tomorrow. Until then, peace.<\/span><\/p>\n<p><span style=\"font-size:10.0pt\">&nbsp;<\/span><\/p>\n<p><b><span style=\"font-size:10.0pt\">Ed Wilson, Microsoft Scripting Guy<\/span><\/b><\/p>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp;&nbsp; Summary: Learn how to use the Windows PowerShell history cmdlets to speed execution of repetitive commands. &nbsp; Hey, Scripting Guy! I recently read that Windows PowerShell keeps a history of commands. I am not sure if this is true or not because I cannot seem to figure out how to get to that history. [&hellip;]<\/p>\n","protected":false},"author":595,"featured_media":87096,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[51,3,4,45],"class_list":["post-15871","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-scripting","tag-getting-started","tag-scripting-guy","tag-scripting-techniques","tag-windows-powershell"],"acf":[],"blog_post_summary":"<p>&nbsp;&nbsp; Summary: Learn how to use the Windows PowerShell history cmdlets to speed execution of repetitive commands. &nbsp; Hey, Scripting Guy! I recently read that Windows PowerShell keeps a history of commands. I am not sure if this is true or not because I cannot seem to figure out how to get to that history. [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/scripting\/wp-json\/wp\/v2\/posts\/15871","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/scripting\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/scripting\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/scripting\/wp-json\/wp\/v2\/users\/595"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/scripting\/wp-json\/wp\/v2\/comments?post=15871"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/scripting\/wp-json\/wp\/v2\/posts\/15871\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/scripting\/wp-json\/wp\/v2\/media\/87096"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/scripting\/wp-json\/wp\/v2\/media?parent=15871"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/scripting\/wp-json\/wp\/v2\/categories?post=15871"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/scripting\/wp-json\/wp\/v2\/tags?post=15871"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}