{"id":8534,"date":"2024-01-19T09:15:26","date_gmt":"2024-01-19T09:15:26","guid":{"rendered":"https:\/\/www.satup.xyz\/index.php\/2024\/01\/19\/introducing-the-adobe-pdf-accessibility-checker-api-beta-by-raymond-camden-jan-2024\/"},"modified":"2024-01-19T09:15:26","modified_gmt":"2024-01-19T09:15:26","slug":"introducing-the-adobe-pdf-accessibility-checker-api-beta-by-raymond-camden-jan-2024","status":"publish","type":"post","link":"https:\/\/www.satup.xyz\/index.php\/2024\/01\/19\/introducing-the-adobe-pdf-accessibility-checker-api-beta-by-raymond-camden-jan-2024\/","title":{"rendered":"Introducing the Adobe PDF Accessibility Checker API Beta | by Raymond Camden | Jan, 2024"},"content":{"rendered":"<p><br \/>\n<\/p>\n<div>\n<div>\n<h2 id=\"b6cc\" class=\"pw-subtitle-paragraph ho gq gr be b hp hq hr hs ht hu hv hw hx hy hz ia ib ic id cp dt\">Our new beta API will help you assess how well your documents meet accessibility standards<\/h2>\n<div class=\"ie if ig ih ii\">\n<div class=\"speechify-ignore ab co\">\n<div class=\"speechify-ignore bg l\">\n<div class=\"ij ik il im in ab\">\n<div>\n<div class=\"ab io\"><a href=\"https:\/\/medium.com\/@cfjedimaster?source=post_page-----08ed594ebc8b--------------------------------\" rel=\"noopener follow\"><\/p>\n<div>\n<div class=\"bl\" aria-hidden=\"false\">\n<div class=\"l ip iq bx ir is\">\n<div class=\"l fg\"><img loading=\"lazy\" decoding=\"async\" alt=\"Raymond Camden\" class=\"l fa bx dc dd cw\" src=\"https:\/\/miro.medium.com\/v2\/resize:fill:88:88\/1*ldF-FsLonNyTUOmQ7cIV_g.jpeg\" width=\"44\" height=\"44\" loading=\"lazy\" data-testid=\"authorPhoto\"\/><\/div>\n<\/div>\n<\/div>\n<\/div>\n<p><\/a><a href=\"https:\/\/blog.developer.adobe.com\/?source=post_page-----08ed594ebc8b--------------------------------\" rel=\"noopener  ugc nofollow\"><\/p>\n<div class=\"iv ab fg\">\n<div>\n<div class=\"bl\" aria-hidden=\"false\">\n<div class=\"l iw ix bx ir iy\">\n<div class=\"l fg\"><img loading=\"lazy\" decoding=\"async\" alt=\"Adobe Tech Blog\" class=\"l fa bx bq iz cw\" src=\"https:\/\/miro.medium.com\/v2\/resize:fill:48:48\/1*riyFijvwTfGcWNf1guRNtg.png\" width=\"24\" height=\"24\" loading=\"lazy\" data-testid=\"publicationPhoto\"\/><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<p><\/a><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<figure class=\"np nq nr ns nt nu nm nn paragraph-image\">\n<div class=\"nm nn no\"><picture><source srcset=\"https:\/\/miro.medium.com\/v2\/resize:fit:640\/format:webp\/1*Gam9MigtXSxWy42OkzKyQA.png 640w, https:\/\/miro.medium.com\/v2\/resize:fit:720\/format:webp\/1*Gam9MigtXSxWy42OkzKyQA.png 720w, https:\/\/miro.medium.com\/v2\/resize:fit:750\/format:webp\/1*Gam9MigtXSxWy42OkzKyQA.png 750w, https:\/\/miro.medium.com\/v2\/resize:fit:786\/format:webp\/1*Gam9MigtXSxWy42OkzKyQA.png 786w, https:\/\/miro.medium.com\/v2\/resize:fit:828\/format:webp\/1*Gam9MigtXSxWy42OkzKyQA.png 828w, https:\/\/miro.medium.com\/v2\/resize:fit:1100\/format:webp\/1*Gam9MigtXSxWy42OkzKyQA.png 1100w, https:\/\/miro.medium.com\/v2\/resize:fit:1300\/format:webp\/1*Gam9MigtXSxWy42OkzKyQA.png 1300w\" sizes=\"(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 650px\" type=\"image\/webp\"\/><source data-testid=\"og\" srcset=\"https:\/\/miro.medium.com\/v2\/resize:fit:640\/1*Gam9MigtXSxWy42OkzKyQA.png 640w, https:\/\/miro.medium.com\/v2\/resize:fit:720\/1*Gam9MigtXSxWy42OkzKyQA.png 720w, https:\/\/miro.medium.com\/v2\/resize:fit:750\/1*Gam9MigtXSxWy42OkzKyQA.png 750w, https:\/\/miro.medium.com\/v2\/resize:fit:786\/1*Gam9MigtXSxWy42OkzKyQA.png 786w, https:\/\/miro.medium.com\/v2\/resize:fit:828\/1*Gam9MigtXSxWy42OkzKyQA.png 828w, https:\/\/miro.medium.com\/v2\/resize:fit:1100\/1*Gam9MigtXSxWy42OkzKyQA.png 1100w, https:\/\/miro.medium.com\/v2\/resize:fit:1300\/1*Gam9MigtXSxWy42OkzKyQA.png 1300w\" sizes=\"(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 650px\"\/><img fetchpriority=\"high\" alt=\"\" class=\"bg mu nv c\" width=\"650\" height=\"506\" loading=\"eager\" role=\"presentation\"\/><\/picture><\/div>\n<\/figure>\n<p id=\"deac\" class=\"pw-post-body-paragraph nw nx gr ny b hp nz oa ob hs oc od oe of og oh oi oj ok ol om on oo op oq or gk bj\">A few months ago, we launched the <a class=\"af os\" href=\"https:\/\/developer.adobe.com\/document-services\/apis\/pdf-accessibility-auto-tag\/\" rel=\"noopener ugc nofollow\" target=\"_blank\">PDF <\/a><a class=\"af os\" href=\"https:\/\/developer.adobe.com\/document-services\/apis\/pdf-accessibility-auto-tag\/\" rel=\"noopener ugc nofollow\" target=\"_blank\">Accessibility Auto-Tag API<\/a>, a powerful tool that intelligently examines your source PDF documents and attempts to tag them by identifying reading order, tables, and more.<\/p>\n<p id=\"2229\" class=\"pw-post-body-paragraph nw nx gr ny b hp nz oa ob hs oc od oe of og oh oi oj ok ol om on oo op oq or gk bj\">While this is not meant to be a \u201ccomplete\u201d accessibility solution, it can go a long way in automating a good chunk of the work required to properly make documents more accessible.<\/p>\n<p id=\"05c0\" class=\"pw-post-body-paragraph nw nx gr ny b hp nz oa ob hs oc od oe of og oh oi oj ok ol om on oo op oq or gk bj\"><strong class=\"ny gs\">As part of support for this service, today we\u2019re happy to announce the beta release of a new API: the PDF Accessibility Checker API.<\/strong><\/p>\n<p id=\"4172\" class=\"pw-post-body-paragraph nw nx gr ny b hp nz oa ob hs oc od oe of og oh oi oj ok ol om on oo op oq or gk bj\">This API will take your document and check how well it conforms to accessibility standards. It returns both a human-readable HTML report as well as a machine-friendly JSON result.<\/p>\n<p id=\"0860\" class=\"pw-post-body-paragraph nw nx gr ny b hp nz oa ob hs oc od oe of og oh oi oj ok ol om on oo op oq or gk bj\">Let\u2019s take a look at how this service operates.<\/p>\n<p id=\"e4f9\" class=\"pw-post-body-paragraph nw nx gr ny b hp pp oa ob hs pq od oe of pr oh oi oj ps ol om on pt op oq or gk bj\">First and most importantly, at this time the beta for the API is in <em class=\"pu\">private<\/em> testing only. That means you\u2019re free to <a class=\"af os\" href=\"https:\/\/developer.adobe.com\/document-services\/docs\/apis\/#tag\/PDF-Accessibility-Checker\" rel=\"noopener ugc nofollow\" target=\"_blank\">read the docs<\/a>, but using the API requires reaching out to us and describing your use case.<\/p>\n<p id=\"78bf\" class=\"pw-post-body-paragraph nw nx gr ny b hp nz oa ob hs oc od oe of og oh oi oj ok ol om on oo op oq or gk bj\">Fill out the <a class=\"af os\" href=\"https:\/\/developer.adobe.com\/document-services\/pricing\/contact\/sales\/accessibilitychecker\/\" rel=\"noopener ugc nofollow\" target=\"_blank\">form<\/a> here and someone from our team will reach out shortly.<\/p>\n<p id=\"7c3b\" class=\"pw-post-body-paragraph nw nx gr ny b hp nz oa ob hs oc od oe of og oh oi oj ok ol om on oo op oq or gk bj\">Secondly, you cannot use existing credentials to test this API. Once you\u2019ve been approved to kick the tires, create new credentials <a class=\"af os\" href=\"https:\/\/documentservices.adobe.com\/dc-integration-creation-app-cdn\/main.html?api=pdf-services-beta-api\" rel=\"noopener ugc nofollow\" target=\"_blank\">here<\/a> and use them in your testing.<\/p>\n<p id=\"eac3\" class=\"pw-post-body-paragraph nw nx gr ny b hp nz oa ob hs oc od oe of og oh oi oj ok ol om on oo op oq or gk bj\">Note that currently we only have SDK support in Java, but the REST API will work just fine and that\u2019s what we\u2019ll demonstrate here.<\/p>\n<p id=\"0e2b\" class=\"pw-post-body-paragraph nw nx gr ny b hp pp oa ob hs pq od oe of pr oh oi oj ps ol om on pt op oq or gk bj\">All of the Acrobat Services operate virtually the same via the REST APIs. These new APIs were first introduced in September of last year and the beauty of them is that once you\u2019ve written one integration, you can re-use nearly all of your code for other parts of the service as well. We covered the \u2018flow\u2019 last year (see <a class=\"af os\" href=\"https:\/\/medium.com\/adobetech\/announcing-the-new-adobe-document-services-rest-apis-8d85951176cf\" rel=\"noopener\">\u201cAnnouncing the New Adobe Document Services REST APIs\u201d<\/a>) so we\u2019ll only briefly cover it here.<\/p>\n<p id=\"dcf5\" class=\"pw-post-body-paragraph nw nx gr ny b hp pp oa ob hs pq od oe of pr oh oi oj ps ol om on pt op oq or gk bj\">To use the PDF Accessibility Checker API via REST, first you\u2018ll need to exchange your credentials, a Client ID and Secret, for an access token. Here\u2019s sample code in Node.js:<\/p>\n<figure class=\"np nq nr ns nt nu\"\/>\n<p id=\"3c48\" class=\"pw-post-body-paragraph nw nx gr ny b hp pp oa ob hs pq od oe of pr oh oi oj ps ol om on pt op oq or gk bj\">In order for the API to scan your PDF, you need to upload it (external cloud storage support will come later).<\/p>\n<p id=\"ca70\" class=\"pw-post-body-paragraph nw nx gr ny b hp nz oa ob hs oc od oe of og oh oi oj ok ol om on oo op oq or gk bj\">This is a two-step process. First, you tell us what kind of file you are uploading. This is done by hitting the assets endpoint with your access token, client ID, and the type of file, in this case, <code class=\"cw py pz qa qb b\">application\/pdf<\/code>.<\/p>\n<figure class=\"np nq nr ns nt nu\"\/>\n<p id=\"f94a\" class=\"pw-post-body-paragraph nw nx gr ny b hp nz oa ob hs oc od oe of og oh oi oj ok ol om on oo op oq or gk bj\">This returns an asset record that includes a URL that allows you to upload your binary data:<\/p>\n<figure class=\"np nq nr ns nt nu\"\/>\n<p id=\"f90b\" class=\"pw-post-body-paragraph nw nx gr ny b hp pp oa ob hs pq od oe of pr oh oi oj ps ol om on pt op oq or gk bj\">Like every other API in the offering, you create a \u201cjob\u201d that includes various arguments dependent on the specific operation.<\/p>\n<p id=\"8f97\" class=\"pw-post-body-paragraph nw nx gr ny b hp nz oa ob hs oc od oe of og oh oi oj ok ol om on oo op oq or gk bj\">At this time, our <a class=\"af os\" href=\"https:\/\/developer.adobe.com\/document-services\/docs\/apis\/#tag\/PDF-Accessibility-Checker\" rel=\"noopener ugc nofollow\" target=\"_blank\">docs<\/a> cover three arguments. The only required argument is the ID of the asset created earlier. Then there are two optional arguments to let you define a page start and end range. This could be useful in cases where you know that some pages do not need to be checked, or perhaps limit the check to a portion of a large PDF document.<\/p>\n<p id=\"aa29\" class=\"pw-post-body-paragraph nw nx gr ny b hp nz oa ob hs oc od oe of og oh oi oj ok ol om on oo op oq or gk bj\">Once again, here\u2019s sample Node.js code hitting the endpoint to create the job. Notice that on a good result, you get a URL in the <code class=\"cw py pz qa qb b\">Location<\/code> here.<\/p>\n<figure class=\"np nq nr ns nt nu\"\/>\n<p id=\"7b93\" class=\"pw-post-body-paragraph nw nx gr ny b hp pp oa ob hs pq od oe of pr oh oi oj ps ol om on pt op oq or gk bj\">You can now poll the job to see if it\u2019s done. In this example, we\u2019ve used a simple interval to check the result and return it when it is successful:<\/p>\n<figure class=\"np nq nr ns nt nu\"\/>\n<p id=\"9b65\" class=\"pw-post-body-paragraph nw nx gr ny b hp nz oa ob hs oc od oe of og oh oi oj ok ol om on oo op oq or gk bj\">The two-second delay here is mostly arbitrary. In general, the jobs complete after a few seconds so this will only need to run a few times.<\/p>\n<p id=\"6b90\" class=\"pw-post-body-paragraph nw nx gr ny b hp nz oa ob hs oc od oe of og oh oi oj ok ol om on oo op oq or gk bj\">When (successfully) done, the result looks like this:<\/p>\n<figure class=\"np nq nr ns nt nu\"\/>\n<p id=\"8104\" class=\"pw-post-body-paragraph nw nx gr ny b hp pp oa ob hs pq od oe of pr oh oi oj ps ol om on pt op oq or gk bj\">Finally, you can download the result. As mentioned above, you get both an HTML report attached to a PDF and a JSON result. You may not need both, but here\u2019s a utility method to grab them and an example of using it:<\/p>\n<figure class=\"np nq nr ns nt nu\"\/>\n<p id=\"4ec1\" class=\"pw-post-body-paragraph nw nx gr ny b hp pp oa ob hs pq od oe of pr oh oi oj ps ol om on pt op oq or gk bj\">Once you have the results, what do they look like?<\/p>\n<p id=\"5f92\" class=\"pw-post-body-paragraph nw nx gr ny b hp nz oa ob hs oc od oe of og oh oi oj ok ol om on oo op oq or gk bj\">First, in the PDF, be sure to open the Attachments panel and double-click on the HTML file. This gives you a report like so:<\/p>\n<figure class=\"np nq nr ns nt nu nm nn paragraph-image\">\n<div role=\"button\" tabindex=\"0\" class=\"qd qe fg qf bg qg\">\n<div class=\"nm nn qc\"><picture><source srcset=\"https:\/\/miro.medium.com\/v2\/resize:fit:640\/format:webp\/1*b-wVQz3jOK2u-SKI8ojb-A.png 640w, https:\/\/miro.medium.com\/v2\/resize:fit:720\/format:webp\/1*b-wVQz3jOK2u-SKI8ojb-A.png 720w, https:\/\/miro.medium.com\/v2\/resize:fit:750\/format:webp\/1*b-wVQz3jOK2u-SKI8ojb-A.png 750w, https:\/\/miro.medium.com\/v2\/resize:fit:786\/format:webp\/1*b-wVQz3jOK2u-SKI8ojb-A.png 786w, https:\/\/miro.medium.com\/v2\/resize:fit:828\/format:webp\/1*b-wVQz3jOK2u-SKI8ojb-A.png 828w, https:\/\/miro.medium.com\/v2\/resize:fit:1100\/format:webp\/1*b-wVQz3jOK2u-SKI8ojb-A.png 1100w, https:\/\/miro.medium.com\/v2\/resize:fit:1400\/format:webp\/1*b-wVQz3jOK2u-SKI8ojb-A.png 1400w\" sizes=\"(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 700px\" type=\"image\/webp\"\/><source data-testid=\"og\" srcset=\"https:\/\/miro.medium.com\/v2\/resize:fit:640\/1*b-wVQz3jOK2u-SKI8ojb-A.png 640w, https:\/\/miro.medium.com\/v2\/resize:fit:720\/1*b-wVQz3jOK2u-SKI8ojb-A.png 720w, https:\/\/miro.medium.com\/v2\/resize:fit:750\/1*b-wVQz3jOK2u-SKI8ojb-A.png 750w, https:\/\/miro.medium.com\/v2\/resize:fit:786\/1*b-wVQz3jOK2u-SKI8ojb-A.png 786w, https:\/\/miro.medium.com\/v2\/resize:fit:828\/1*b-wVQz3jOK2u-SKI8ojb-A.png 828w, https:\/\/miro.medium.com\/v2\/resize:fit:1100\/1*b-wVQz3jOK2u-SKI8ojb-A.png 1100w, https:\/\/miro.medium.com\/v2\/resize:fit:1400\/1*b-wVQz3jOK2u-SKI8ojb-A.png 1400w\" sizes=\"(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 700px\"\/><img loading=\"lazy\" alt=\"HTML accessibility report.\" class=\"bg mu nv c\" width=\"700\" height=\"978\" loading=\"lazy\"\/><\/picture><\/div>\n<\/div>\n<\/figure>\n<p id=\"153d\" class=\"pw-post-body-paragraph nw nx gr ny b hp nz oa ob hs oc od oe of og oh oi oj ok ol om on oo op oq or gk bj\">In the screenshot above, you can see a high-level summary and then a detailed breakdown of the issues. Each link goes to a page that gives much more information about the issue.<\/p>\n<p id=\"0bbb\" class=\"pw-post-body-paragraph nw nx gr ny b hp nz oa ob hs oc od oe of og oh oi oj ok ol om on oo op oq or gk bj\">The JSON report contains the same information, minus links to educational resources:<\/p>\n<figure class=\"np nq nr ns nt nu\"\/>\n<p id=\"9e23\" class=\"pw-post-body-paragraph nw nx gr ny b hp pp oa ob hs pq od oe of pr oh oi oj ps ol om on pt op oq or gk bj\">Hopefully, this quick introduction demonstrates just how easy, and powerful, this new API can be for your document processes. The entire Node.js script used above may be found <a class=\"af os\" href=\"https:\/\/github.com\/cfjedimaster\/document-services-demos\/blob\/main\/services\/accessibility_checker.js\" rel=\"noopener ugc nofollow\" target=\"_blank\">here<\/a>, and of course, can be adapted to any other language via the REST API. Be sure to visit the <a class=\"af os\" href=\"https:\/\/community.adobe.com\/t5\/acrobat-services-api\/ct-p\/ct-Document-Cloud-SDK?page=1&amp;sort=latest_replies&amp;lang=all&amp;tabid=all\" rel=\"noopener ugc nofollow\" target=\"_blank\">forums<\/a> with your questions!<\/p>\n<\/div>\n<p><br \/>\n<br \/><a href=\"https:\/\/blog.developer.adobe.com\/introducing-the-accessibility-checker-beta-api-08ed594ebc8b?source=rss----9342990108af---4\">Source link <\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Our new beta API will help you assess how well your documents meet accessibility standards A few months ago, we launched the PDF Accessibility Auto-Tag API, a powerful tool that intelligently examines your source PDF documents and attempts to tag them by identifying reading order, tables, and more. While this is not meant to be [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":8535,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[19],"tags":[],"class_list":["post-8534","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-graphics-design"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.satup.xyz\/index.php\/wp-json\/wp\/v2\/posts\/8534","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.satup.xyz\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.satup.xyz\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.satup.xyz\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.satup.xyz\/index.php\/wp-json\/wp\/v2\/comments?post=8534"}],"version-history":[{"count":0,"href":"https:\/\/www.satup.xyz\/index.php\/wp-json\/wp\/v2\/posts\/8534\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.satup.xyz\/index.php\/wp-json\/wp\/v2\/media\/8535"}],"wp:attachment":[{"href":"https:\/\/www.satup.xyz\/index.php\/wp-json\/wp\/v2\/media?parent=8534"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.satup.xyz\/index.php\/wp-json\/wp\/v2\/categories?post=8534"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.satup.xyz\/index.php\/wp-json\/wp\/v2\/tags?post=8534"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}