{"id":867,"date":"2021-12-22T18:31:46","date_gmt":"2021-12-22T17:31:46","guid":{"rendered":"http:\/\/thomas-kopton.de\/vblog\/?p=867"},"modified":"2021-12-22T18:31:46","modified_gmt":"2021-12-22T17:31:46","slug":"quick-tip-programmatically-update-vrealize-log-insight-webhook-token","status":"publish","type":"post","link":"https:\/\/thomas-kopton.de\/vblog\/?p=867","title":{"rendered":"Quick Tip &#8211; Programmatically Update vRealize Log Insight Webhook Token"},"content":{"rendered":"\n<p>The <strong><span class=\"has-inline-color has-vivid-purple-color\">Webhook<\/span><\/strong> feature in <strong><span class=\"has-inline-color has-vivid-purple-color\">vRealize Log Insight<\/span><\/strong> is a great way to execute automation tasks, push elements in a RabbitMQ message queue or start any other REST operation.<\/p>\n\n\n\n<p>Many endpoints providing such REST methods require a token-based authentication, like the well-known Bearer Token. vRealize Automation is one example of such endpoints.<\/p>\n\n\n\n<p>It is pretty easy to specify that kind of authentication in vRealize Loginsight Webhook, the only thing you need to do is to add the <code>Authorization<\/code> header and set its value to <code>Bearer xyz...<\/code> .<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2021\/12\/figure01-2.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"598\" src=\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2021\/12\/figure01-2-1024x598.png\" alt=\"\" class=\"wp-image-884\" srcset=\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2021\/12\/figure01-2-1024x598.png 1024w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2021\/12\/figure01-2-300x175.png 300w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2021\/12\/figure01-2-768x448.png 768w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2021\/12\/figure01-2-1536x897.png 1536w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2021\/12\/figure01-2.png 1672w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption><em>Figure 01: Authorization header in vRLI webhook.<\/em><\/figcaption><\/figure>\n\n\n\n<p>The problem with such tokens is their expiration. Usually, such tokens are valid only for a certain time period and need to be refreshed.<\/p>\n\n\n\n<p>How to get a new token from vRealize Automation is not the subject of this post, we assume we have a new token, let&#8217;s say it is <code>abcd1234<\/code>. Now we need to update that value in vRLI.<\/p>\n\n\n\n<p>We use the vRealize Log Insight REST API to update the Webhook configuration which contains the headers.<\/p>\n\n\n\n<p>Before we can do that, we need the Bearer Token for the vRealize Log Insight REST API. This is the curl command to retrieve the token:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">curl --location --request POST 'https:\/\/$VRLI-FQDN\/api\/v2\/sessions' --header 'Accept-Encoding: application\/json' --header 'Content-Type: application\/json' --data-raw '{ \"username\": \"admin\", \"password\": \"secret\", \"provider\": \"Local\"}'<\/pre>\n\n\n\n<p>The response contains the token we use for any other subsequent REST API call (I have changed the token for better visibility):<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">{\n    \"userId\": \"2338ddb2-xxx-yyy\",\n    \"sessionId\": \"<meta charset=\"utf-8\"><code>123456789assdfg<\/code>\",\n    \"ttl\": 1800\n}\n<\/pre>\n\n\n\n<p>Now we have everything we need to update the Webhook configuration to include a new vRealize Automation token, <meta charset=\"utf-8\"><code><span class=\"has-inline-color has-vivid-red-color\"><strong>abcd1234<\/strong><\/span>.<\/code> This is a two-step process.<\/p>\n\n\n\n<p>First, we need the ID of our Webhook. This is the REST call to retrieve all webhooks:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">curl --location --request GET 'https:\/\/<meta charset=\"utf-8\">$VRLI-FQDN\/api\/v2\/notification\/webhook' \\\n--header 'Accept-Encoding: application\/json' \\\n--header 'Content-Type: application\/json' \\\n--header 'Authorization: Bearer <meta charset=\"utf-8\">123456789assdfg' \\\n<\/pre>\n\n\n\n<p>From the (truncated) response we extract the ID of the Webhook we would like to modify. Please be aware that the output JSON will contain separate sections for every Webhook in your vRealize Log Insight:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">{ \"id\": \"<strong><span class=\"has-inline-color has-vivid-green-cyan-color\"><code>96211daa-4391-42bd-b972-52689b7eb540<\/code><\/span><\/strong>\", \"URLs\": [ \"https:\/\/<meta charset=\"utf-8\">$VRLI-FQDN\/codestream\/api\/pipelines\/db1259ea-e4ea-4a91-89fc-70a3b5a2004b\/executions\" ], \"destinationApp\": \"custom\", \"contentType\": \"JSON\",<\/pre>\n\n\n\n<p>Second, we can now use a PUT REST call to update the webhook with the new Bearer Token for vRealize Automation.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">curl --location --request PUT 'https:\/\/<meta charset=\"utf-8\">$VRLI-FQDN\/api\/v2\/notification\/webhook\/432be7da-9876-4c9f-a11a-bb1fe131b2c4'--header 'Accept-Encoding: application\/json' --header 'Content-Type: application\/json' --header 'Authorization: Bearer <meta charset=\"utf-8\"><code>123456789assdfg<\/code>' --data-raw '{ $<span class=\"has-inline-color has-vivid-cyan-blue-color\">BODY_FROM_PREVIOUS_RESPONSE_FOR_THE_CORRESPONDING_WEBHOOK_ID<\/span> }'<\/pre>\n\n\n\n<p>The REST body is basically the content corresponding Webkook ID of the JSON output we retrieved in the Step 1 response. We just need to replace the token here:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">{ \"id\": \"432be7da-9876-4c9f-a11a-bb1fe131b2c4\", \"URLs\": [ \"https:\/\/<meta charset=\"utf-8\">{ \"id\": \"<strong><span class=\"has-inline-color has-vivid-green-cyan-color\"><code>96211daa-4391-42bd-b972-52689b7eb540<\/code><\/span><\/strong>\", \"URLs\": [ \"https:\/\/<meta charset=\"utf-8\">$VRLI-FQDN\/codestream\/api\/pipelines\/db1259ea-e4ea-4a91-89fc-70a3b5a2004b\/executions\" ], \"destinationApp\": \"custom\", \"contentType\": \"JSON\",\/codestream\/api\/pipelines\/b12c7cbd-6d83-4bef-8b31-7bb653ee01aa\/executions\" ], \"destinationApp\": \"custom\", \"contentType\": \"JSON\", \"payload\": \"{\\n \\\"comments\\\": \\\"Starting pipeline using REST - from vRLI\\\",\\n \\\"input\\\": {\\n \\\"messages\\\": \\\"${messages}\\\",\\n \\\"TriggeredAt\\\": \\\"${TriggeredAt}\\\",\\n \\\"my_systemID\\\": \\\"${ vmw_vr_ops_id}\\\",\\n \\\"SourceInfo\\\": \\\"${SourceInfo}\\\",\\n \\\"HitOperator\\\": \\\"${HitOperator}\\\",\\n \\\"Info\\\": \\\"${Info}\\\"\\n}\\n}\", \"name\": \"tkopton-CS-Pipeline-Test\", \"headers\": \"{\\\"Content-Type\\\":\\\"application\/json\\\",\\\"Action\\\":\\\"POST\\\",\\\"Authorization-User\\\":\\\"undefined\\\",\\\"Authorization-Password\\\":\\\"undefined\\\",\\\"Authorization\\\":\\\"Bearer <meta charset=\"utf-8\"><code><span class=\"has-inline-color has-vivid-red-color\"><strong>abcd1234<\/strong><\/span><\/code>\\\"}\", \"acceptCert\": <strong>false<\/strong>, \"creatorEmail\": \"xxxxxxx\"}<\/pre>\n\n\n\n<p>Replacing the token in the vRealize Log Insight is that simple.<\/p>\n\n\n\n<p><strong>Stay safe.<\/strong><\/p>\n\n\n\n<p>Thomas \u2013&nbsp;<a href=\"https:\/\/twitter.com\/ThomasKopton\">https:\/\/twitter.com\/ThomasKopton<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The Webhook feature in vRealize Log Insight is a great way to execute automation tasks, push elements in a RabbitMQ message queue or start any other REST operation. Many endpoints providing such REST methods require a token-based authentication, like the well-known Bearer Token. vRealize Automation is one example of such endpoints. It is pretty easy &#8230;<\/p>\n","protected":false},"author":1,"featured_media":884,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[23,22,51],"tags":[6,25,7],"class_list":["post-867","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-json","category-vrealize-log-insight","category-webhook","tag-rest","tag-vrealize-log-insight","tag-vrli"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Quick Tip - Programmatically Update vRealize Log Insight Webhook Token - TOMsOps<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/thomas-kopton.de\/vblog\/?p=867\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Quick Tip - Programmatically Update vRealize Log Insight Webhook Token - TOMsOps\" \/>\n<meta property=\"og:description\" content=\"The Webhook feature in vRealize Log Insight is a great way to execute automation tasks, push elements in a RabbitMQ message queue or start any other REST operation. Many endpoints providing such REST methods require a token-based authentication, like the well-known Bearer Token. vRealize Automation is one example of such endpoints. It is pretty easy ...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/thomas-kopton.de\/vblog\/?p=867\" \/>\n<meta property=\"og:site_name\" content=\"TOMsOps\" \/>\n<meta property=\"article:published_time\" content=\"2021-12-22T17:31:46+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2021\/12\/figure01-2.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1672\" \/>\n\t<meta property=\"og:image:height\" content=\"976\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Thomas Kopton\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Thomas Kopton\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/?p=867#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/?p=867\"},\"author\":{\"name\":\"Thomas Kopton\",\"@id\":\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/#\\\/schema\\\/person\\\/892d6b96c66b1dd4b75c6e32fdbfea82\"},\"headline\":\"Quick Tip &#8211; Programmatically Update vRealize Log Insight Webhook Token\",\"datePublished\":\"2021-12-22T17:31:46+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/?p=867\"},\"wordCount\":367,\"commentCount\":3,\"image\":{\"@id\":\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/?p=867#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/wp-content\\\/uploads\\\/2021\\\/12\\\/figure01-2.png\",\"keywords\":[\"REST\",\"vRealize log insight\",\"vRLI\"],\"articleSection\":[\"JSON\",\"vRealize Log Insight\",\"Webhook\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/?p=867#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/?p=867\",\"url\":\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/?p=867\",\"name\":\"Quick Tip - Programmatically Update vRealize Log Insight Webhook Token - TOMsOps\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/?p=867#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/?p=867#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/wp-content\\\/uploads\\\/2021\\\/12\\\/figure01-2.png\",\"datePublished\":\"2021-12-22T17:31:46+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/#\\\/schema\\\/person\\\/892d6b96c66b1dd4b75c6e32fdbfea82\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/?p=867#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/?p=867\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/?p=867#primaryimage\",\"url\":\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/wp-content\\\/uploads\\\/2021\\\/12\\\/figure01-2.png\",\"contentUrl\":\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/wp-content\\\/uploads\\\/2021\\\/12\\\/figure01-2.png\",\"width\":1672,\"height\":976},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/?p=867#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/thomas-kopton.de\\\/vblog\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Quick Tip &#8211; Programmatically Update vRealize Log Insight Webhook Token\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/#website\",\"url\":\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/\",\"name\":\"TOMsOps\",\"description\":\"Just another VMware Cloud Management Blog\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/#\\\/schema\\\/person\\\/892d6b96c66b1dd4b75c6e32fdbfea82\",\"name\":\"Thomas Kopton\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/e746aafbd3733172ceb4d600ba1feda61bc87cd3b70f5a9dfb581907cc7973b1?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/e746aafbd3733172ceb4d600ba1feda61bc87cd3b70f5a9dfb581907cc7973b1?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/e746aafbd3733172ceb4d600ba1feda61bc87cd3b70f5a9dfb581907cc7973b1?s=96&d=mm&r=g\",\"caption\":\"Thomas Kopton\"},\"url\":\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Quick Tip - Programmatically Update vRealize Log Insight Webhook Token - TOMsOps","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/thomas-kopton.de\/vblog\/?p=867","og_locale":"en_US","og_type":"article","og_title":"Quick Tip - Programmatically Update vRealize Log Insight Webhook Token - TOMsOps","og_description":"The Webhook feature in vRealize Log Insight is a great way to execute automation tasks, push elements in a RabbitMQ message queue or start any other REST operation. Many endpoints providing such REST methods require a token-based authentication, like the well-known Bearer Token. vRealize Automation is one example of such endpoints. It is pretty easy ...","og_url":"https:\/\/thomas-kopton.de\/vblog\/?p=867","og_site_name":"TOMsOps","article_published_time":"2021-12-22T17:31:46+00:00","og_image":[{"width":1672,"height":976,"url":"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2021\/12\/figure01-2.png","type":"image\/png"}],"author":"Thomas Kopton","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Thomas Kopton","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/thomas-kopton.de\/vblog\/?p=867#article","isPartOf":{"@id":"https:\/\/thomas-kopton.de\/vblog\/?p=867"},"author":{"name":"Thomas Kopton","@id":"https:\/\/thomas-kopton.de\/vblog\/#\/schema\/person\/892d6b96c66b1dd4b75c6e32fdbfea82"},"headline":"Quick Tip &#8211; Programmatically Update vRealize Log Insight Webhook Token","datePublished":"2021-12-22T17:31:46+00:00","mainEntityOfPage":{"@id":"https:\/\/thomas-kopton.de\/vblog\/?p=867"},"wordCount":367,"commentCount":3,"image":{"@id":"https:\/\/thomas-kopton.de\/vblog\/?p=867#primaryimage"},"thumbnailUrl":"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2021\/12\/figure01-2.png","keywords":["REST","vRealize log insight","vRLI"],"articleSection":["JSON","vRealize Log Insight","Webhook"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/thomas-kopton.de\/vblog\/?p=867#respond"]}]},{"@type":"WebPage","@id":"https:\/\/thomas-kopton.de\/vblog\/?p=867","url":"https:\/\/thomas-kopton.de\/vblog\/?p=867","name":"Quick Tip - Programmatically Update vRealize Log Insight Webhook Token - TOMsOps","isPartOf":{"@id":"https:\/\/thomas-kopton.de\/vblog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/thomas-kopton.de\/vblog\/?p=867#primaryimage"},"image":{"@id":"https:\/\/thomas-kopton.de\/vblog\/?p=867#primaryimage"},"thumbnailUrl":"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2021\/12\/figure01-2.png","datePublished":"2021-12-22T17:31:46+00:00","author":{"@id":"https:\/\/thomas-kopton.de\/vblog\/#\/schema\/person\/892d6b96c66b1dd4b75c6e32fdbfea82"},"breadcrumb":{"@id":"https:\/\/thomas-kopton.de\/vblog\/?p=867#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/thomas-kopton.de\/vblog\/?p=867"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/thomas-kopton.de\/vblog\/?p=867#primaryimage","url":"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2021\/12\/figure01-2.png","contentUrl":"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2021\/12\/figure01-2.png","width":1672,"height":976},{"@type":"BreadcrumbList","@id":"https:\/\/thomas-kopton.de\/vblog\/?p=867#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/thomas-kopton.de\/vblog"},{"@type":"ListItem","position":2,"name":"Quick Tip &#8211; Programmatically Update vRealize Log Insight Webhook Token"}]},{"@type":"WebSite","@id":"https:\/\/thomas-kopton.de\/vblog\/#website","url":"https:\/\/thomas-kopton.de\/vblog\/","name":"TOMsOps","description":"Just another VMware Cloud Management Blog","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/thomas-kopton.de\/vblog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/thomas-kopton.de\/vblog\/#\/schema\/person\/892d6b96c66b1dd4b75c6e32fdbfea82","name":"Thomas Kopton","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/e746aafbd3733172ceb4d600ba1feda61bc87cd3b70f5a9dfb581907cc7973b1?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/e746aafbd3733172ceb4d600ba1feda61bc87cd3b70f5a9dfb581907cc7973b1?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/e746aafbd3733172ceb4d600ba1feda61bc87cd3b70f5a9dfb581907cc7973b1?s=96&d=mm&r=g","caption":"Thomas Kopton"},"url":"https:\/\/thomas-kopton.de\/vblog\/?author=1"}]}},"_links":{"self":[{"href":"https:\/\/thomas-kopton.de\/vblog\/index.php?rest_route=\/wp\/v2\/posts\/867","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thomas-kopton.de\/vblog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thomas-kopton.de\/vblog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thomas-kopton.de\/vblog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/thomas-kopton.de\/vblog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=867"}],"version-history":[{"count":23,"href":"https:\/\/thomas-kopton.de\/vblog\/index.php?rest_route=\/wp\/v2\/posts\/867\/revisions"}],"predecessor-version":[{"id":892,"href":"https:\/\/thomas-kopton.de\/vblog\/index.php?rest_route=\/wp\/v2\/posts\/867\/revisions\/892"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/thomas-kopton.de\/vblog\/index.php?rest_route=\/wp\/v2\/media\/884"}],"wp:attachment":[{"href":"https:\/\/thomas-kopton.de\/vblog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=867"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thomas-kopton.de\/vblog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=867"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thomas-kopton.de\/vblog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=867"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}