{"id":3007,"date":"2025-01-07T20:22:01","date_gmt":"2025-01-08T02:22:01","guid":{"rendered":"https:\/\/readme.com\/resources\/?p=3007"},"modified":"2025-01-07T20:22:03","modified_gmt":"2025-01-08T02:22:03","slug":"combining-api-metrics-with-api-errors","status":"publish","type":"post","link":"https:\/\/readme.com\/resources\/combining-api-metrics-with-api-errors","title":{"rendered":"Combining API Metrics with API Error Docs"},"content":{"rendered":"\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>If you don&#8217;t know about API Error docs, read our previous post:&nbsp;<a href=\"https:\/\/blog.readme.com\/introducing-api-error-docs\/\">Introducing API Error Docs<\/a>.<\/p>\n<\/blockquote>\n\n\n\n<p>If you&#8217;re using our&nbsp;<a href=\"https:\/\/blog.readme.com\/introducing-api-logs\/\">API Metrics<\/a>&nbsp;product, this knows about all of the types of error that your API may produce and will assign errors to logs that come in if they&#8217;re of a given error type.<\/p>\n\n\n\n<p>This gives you two things:<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"1-when-you-re-on-a-single-log-you-ll-see-information-about-the-error\">1. When you&#8217;re on a single log, you&#8217;ll see information about the error<\/h2>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/blog.readme.com\/content\/images\/2019\/01\/error-info-on-log-1.png\" alt=\"\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"2-when-viewing-the-docs-for-a-given-error-code-you-ll-see-all-logs-of-that-error-type-directly-in-the-docs\">2. When viewing the docs for a given error code, you&#8217;ll see all logs of that error type directly in the docs<\/h2>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/blog.readme.com\/content\/images\/2019\/01\/logs-on-error-doc-1.png\" alt=\"\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"try-it-out-\">Try it out!<\/h2>\n\n\n\n<p>You can try this out yourself on our owl-themed Twitter clone:&nbsp;<a href=\"https:\/\/hoot.at\/?ref=blog.readme.com\">https:\/\/hoot.at<\/a>.<\/p>\n\n\n\n<p>You can login to the docs as the\u00a0<code>readmeblog<\/code>\u00a0user using\u00a0this link.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>We use JWT for our user login links, you can read more about this here:\u00a0https:\/\/readme.readme.io\/docs\/passing-data-to-jwt<\/p>\n<\/blockquote>\n\n\n\n<p>Now you can either use the interactive API explorer, or the following curl command:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"JavaScript\" class=\"language-JavaScript\">curl --user readmeblog: -X POST https:\/\/hoot.at\/api\/hoot<\/code><\/pre>\n\n\n\n<p>If you refresh on the reference guide you&#8217;ll see your log(s):<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/blog.readme.com\/content\/images\/2019\/01\/hoot-at-reference-1.png\" alt=\"\"\/><\/figure>\n\n\n\n<p>Now clicking on one of those, you&#8217;ll see more metadata about that request (including the error code).<\/p>\n\n\n\n<p>If you go to the static link for that error, you&#8217;ll see your logs there as well:\u00a0https:\/\/developers.hoot.at\/v2.0.0\/error\/MissingBody<\/p>\n\n\n\n<p>We&#8217;re really excited about the future of documentation and how making your docs more dynamic and custom will keep your users happy. We look forward to seeing how people begin to use this feature.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>If you don&#8217;t know about API Error docs, read our previous post:&nbsp;Introducing API Error Docs. If you&#8217;re using our&nbsp;API Metrics&nbsp;product, this knows about all of the types of error that your API may produce and will assign errors to logs that come in if they&#8217;re of a given error type. This gives you two things: [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"content-type":"","inline_featured_image":false,"footnotes":""},"categories":[22],"tags":[],"ppma_author":[53],"class_list":["post-3007","post","type-post","status-publish","format-standard","hentry","category-api-tips"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v23.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Optimize API Performance with Metrics and Error Analysis<\/title>\n<meta name=\"description\" content=\"Combine API metrics and error tracking to uncover actionable insights that improve reliability and user satisfaction.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/readme.com\/resources\/combining-api-metrics-with-api-errors\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Optimize API Performance with Metrics and Error Analysis\" \/>\n<meta property=\"og:description\" content=\"Combine API metrics and error tracking to uncover actionable insights that improve reliability and user satisfaction.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/readme.com\/resources\/combining-api-metrics-with-api-errors\" \/>\n<meta property=\"og:site_name\" content=\"ReadMe: Resource Library\" \/>\n<meta property=\"article:published_time\" content=\"2025-01-08T02:22:01+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-01-08T02:22:03+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blog.readme.com\/content\/images\/2019\/01\/error-info-on-log-1.png\" \/>\n<meta name=\"author\" content=\"Dom Harrington\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Miche Nickolaisen\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/readme.com\/resources\/combining-api-metrics-with-api-errors\",\"url\":\"https:\/\/readme.com\/resources\/combining-api-metrics-with-api-errors\",\"name\":\"Optimize API Performance with Metrics and Error Analysis\",\"isPartOf\":{\"@id\":\"https:\/\/readme.com\/resources\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/readme.com\/resources\/combining-api-metrics-with-api-errors#primaryimage\"},\"image\":{\"@id\":\"https:\/\/readme.com\/resources\/combining-api-metrics-with-api-errors#primaryimage\"},\"thumbnailUrl\":\"https:\/\/blog.readme.com\/content\/images\/2019\/01\/error-info-on-log-1.png\",\"datePublished\":\"2025-01-08T02:22:01+00:00\",\"dateModified\":\"2025-01-08T02:22:03+00:00\",\"author\":{\"@id\":\"https:\/\/readme.com\/resources\/#\/schema\/person\/770bcc036178743133b5ba515195981b\"},\"description\":\"Combine API metrics and error tracking to uncover actionable insights that improve reliability and user satisfaction.\",\"breadcrumb\":{\"@id\":\"https:\/\/readme.com\/resources\/combining-api-metrics-with-api-errors#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/readme.com\/resources\/combining-api-metrics-with-api-errors\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/readme.com\/resources\/combining-api-metrics-with-api-errors#primaryimage\",\"url\":\"https:\/\/blog.readme.com\/content\/images\/2019\/01\/error-info-on-log-1.png\",\"contentUrl\":\"https:\/\/blog.readme.com\/content\/images\/2019\/01\/error-info-on-log-1.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/readme.com\/resources\/combining-api-metrics-with-api-errors#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/readme.com\/resources\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Combining API Metrics with API Error Docs\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/readme.com\/resources\/#website\",\"url\":\"https:\/\/readme.com\/resources\/\",\"name\":\"ReadMe: Resource Library\",\"description\":\"Making API documentation better for everyone\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/readme.com\/resources\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/readme.com\/resources\/#\/schema\/person\/770bcc036178743133b5ba515195981b\",\"name\":\"Miche Nickolaisen\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/readme.com\/resources\/#\/schema\/person\/image\/a24e32f88df84934c107cef6fa8d3223\",\"url\":\"https:\/\/readme.com\/resources\/wp-content\/uploads\/2024\/06\/IMG_7151-scaled-e1718387764646.jpg\",\"contentUrl\":\"https:\/\/readme.com\/resources\/wp-content\/uploads\/2024\/06\/IMG_7151-scaled-e1718387764646.jpg\",\"caption\":\"Miche Nickolaisen\"},\"description\":\"An Austin resident since 2009, Miche grew up in rural southwestern Missouri. When not working on ReadMe's content marketing, you can find them doing a number of hobbies, including (but not limited to) bouldering, martial arts, playing tabletop RPGs and\/or video games, bullet journaling, and making art. They live with a large menagerie of indoor pets and a smaller (outdoor) menagerie of feral cats they take care of (sometimes including a few possums and raccoons, just for good measure).\",\"url\":\"https:\/\/readme.com\/resources\/author\/miche\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Optimize API Performance with Metrics and Error Analysis","description":"Combine API metrics and error tracking to uncover actionable insights that improve reliability and user satisfaction.","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:\/\/readme.com\/resources\/combining-api-metrics-with-api-errors","og_locale":"en_US","og_type":"article","og_title":"Optimize API Performance with Metrics and Error Analysis","og_description":"Combine API metrics and error tracking to uncover actionable insights that improve reliability and user satisfaction.","og_url":"https:\/\/readme.com\/resources\/combining-api-metrics-with-api-errors","og_site_name":"ReadMe: Resource Library","article_published_time":"2025-01-08T02:22:01+00:00","article_modified_time":"2025-01-08T02:22:03+00:00","og_image":[{"url":"https:\/\/blog.readme.com\/content\/images\/2019\/01\/error-info-on-log-1.png"}],"author":"Dom Harrington","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Miche Nickolaisen","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/readme.com\/resources\/combining-api-metrics-with-api-errors","url":"https:\/\/readme.com\/resources\/combining-api-metrics-with-api-errors","name":"Optimize API Performance with Metrics and Error Analysis","isPartOf":{"@id":"https:\/\/readme.com\/resources\/#website"},"primaryImageOfPage":{"@id":"https:\/\/readme.com\/resources\/combining-api-metrics-with-api-errors#primaryimage"},"image":{"@id":"https:\/\/readme.com\/resources\/combining-api-metrics-with-api-errors#primaryimage"},"thumbnailUrl":"https:\/\/blog.readme.com\/content\/images\/2019\/01\/error-info-on-log-1.png","datePublished":"2025-01-08T02:22:01+00:00","dateModified":"2025-01-08T02:22:03+00:00","author":{"@id":"https:\/\/readme.com\/resources\/#\/schema\/person\/770bcc036178743133b5ba515195981b"},"description":"Combine API metrics and error tracking to uncover actionable insights that improve reliability and user satisfaction.","breadcrumb":{"@id":"https:\/\/readme.com\/resources\/combining-api-metrics-with-api-errors#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/readme.com\/resources\/combining-api-metrics-with-api-errors"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/readme.com\/resources\/combining-api-metrics-with-api-errors#primaryimage","url":"https:\/\/blog.readme.com\/content\/images\/2019\/01\/error-info-on-log-1.png","contentUrl":"https:\/\/blog.readme.com\/content\/images\/2019\/01\/error-info-on-log-1.png"},{"@type":"BreadcrumbList","@id":"https:\/\/readme.com\/resources\/combining-api-metrics-with-api-errors#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/readme.com\/resources\/"},{"@type":"ListItem","position":2,"name":"Combining API Metrics with API Error Docs"}]},{"@type":"WebSite","@id":"https:\/\/readme.com\/resources\/#website","url":"https:\/\/readme.com\/resources\/","name":"ReadMe: Resource Library","description":"Making API documentation better for everyone","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/readme.com\/resources\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/readme.com\/resources\/#\/schema\/person\/770bcc036178743133b5ba515195981b","name":"Miche Nickolaisen","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/readme.com\/resources\/#\/schema\/person\/image\/a24e32f88df84934c107cef6fa8d3223","url":"https:\/\/readme.com\/resources\/wp-content\/uploads\/2024\/06\/IMG_7151-scaled-e1718387764646.jpg","contentUrl":"https:\/\/readme.com\/resources\/wp-content\/uploads\/2024\/06\/IMG_7151-scaled-e1718387764646.jpg","caption":"Miche Nickolaisen"},"description":"An Austin resident since 2009, Miche grew up in rural southwestern Missouri. When not working on ReadMe's content marketing, you can find them doing a number of hobbies, including (but not limited to) bouldering, martial arts, playing tabletop RPGs and\/or video games, bullet journaling, and making art. They live with a large menagerie of indoor pets and a smaller (outdoor) menagerie of feral cats they take care of (sometimes including a few possums and raccoons, just for good measure).","url":"https:\/\/readme.com\/resources\/author\/miche"}]}},"authors":[{"term_id":53,"user_id":0,"is_guest":1,"slug":"dom-harrington","display_name":"Dom Harrington","avatar_url":{"url":"https:\/\/readme.com\/resources\/wp-content\/uploads\/2024\/06\/1516897618298.jpeg","url2x":"https:\/\/readme.com\/resources\/wp-content\/uploads\/2024\/06\/1516897618298.jpeg"},"first_name":"Dom","last_name":"Harrington","position":"Open Source Engineer","slogan":"","description":"Dom joins the ReadMe team remotely from the UK. He enjoys cooking, long walks in the countryside and playing video games. You\u2019ll likely find him in ReadMe's open source repos frantically writing tests."}],"_links":{"self":[{"href":"https:\/\/readme.com\/resources\/wp-json\/wp\/v2\/posts\/3007","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/readme.com\/resources\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/readme.com\/resources\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/readme.com\/resources\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/readme.com\/resources\/wp-json\/wp\/v2\/comments?post=3007"}],"version-history":[{"count":0,"href":"https:\/\/readme.com\/resources\/wp-json\/wp\/v2\/posts\/3007\/revisions"}],"wp:attachment":[{"href":"https:\/\/readme.com\/resources\/wp-json\/wp\/v2\/media?parent=3007"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/readme.com\/resources\/wp-json\/wp\/v2\/categories?post=3007"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/readme.com\/resources\/wp-json\/wp\/v2\/tags?post=3007"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/readme.com\/resources\/wp-json\/wp\/v2\/ppma_author?post=3007"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}