{"id":13431,"date":"2016-06-23T12:15:56","date_gmt":"2016-06-23T09:15:56","guid":{"rendered":"https:\/\/www.webcodegeeks.com\/?p=13431"},"modified":"2016-06-20T19:11:21","modified_gmt":"2016-06-20T16:11:21","slug":"scheduling-jobs-node-js-agenda","status":"publish","type":"post","link":"https:\/\/www.webcodegeeks.com\/javascript\/node-js\/scheduling-jobs-node-js-agenda\/","title":{"rendered":"Scheduling jobs on Node.js with agenda"},"content":{"rendered":"<p>There are <a href=\"https:\/\/www.webcodegeeks.com\/javascript\/node-js\/scheduling-jobs-node-js-node-schedule\/\">many ways<\/a> to schedule jobs in your application. A very common practice is to back our jobs with persistence.\u00a0By doing so we will be informed in the future if the job did fail or succeed and when it should be the next execution.<\/p>\n<p><a href=\"https:\/\/www.npmjs.com\/package\/agenda\">Agenda<\/a> is a light-weight job scheduling library for node.js. It is backed with mongodb.\u00a0It is really simple to get started. The first thing we have to do is to configure the mongodb database connection sting.<\/p>\n<pre class=\"brush:js\">var Agenda = require('agenda');\r\n\r\nvar connectionString = \"127.0.0.1:27017\/scheduled_jobs\";\r\nvar agenda = new Agenda({db: { address: connectionString, collection: 'jobs' }});<\/pre>\n<p>Next step would be to specify jobs.<\/p>\n<p>Suppose we have an EmailService like this<\/p>\n<pre class=\"brush:js\">EmailService = {\r\n        send:function(callback){\r\n            console.log(\"sending email\");\r\n            callback();\r\n        }\r\n};<\/pre>\n<p>Then we shall define a job<\/p>\n<pre class=\"brush:js\">agenda.define('send email', function(job, done) {\r\n    EmailService.send(function(err,result) {\r\n        if(err) {\r\n            done(err);\r\n        } else {\r\n            done();  \r\n        }\r\n    });  \r\n});<\/pre>\n<p>We just defined a job with agenda in a <a href=\"https:\/\/github.com\/rschmukler\/human-interval\">human way<\/a>.<\/p>\n<pre class=\"brush:js\">agenda.on('ready',function() {\r\n agenda.every('1 day','send email'); \r\n agenda.start();\r\n});<\/pre>\n<p>Once we defined the jobs we need to set the time interval that the agenda instance will look up for new jobs.<\/p>\n<pre class=\"brush:js\">agenda.processEvery('1 minute');<\/pre>\n<p>By querying to our mongodb database we are able to receive our job status.<\/p>\n<pre class=\"brush:js\">&gt;db.jobs.find({})\r\n{ \"_id\" : ObjectId(\"5767110c779be08d4e1b3109\"), \"name\" : \"send email\", \"type\" : \"single\", \"data\" : null, \"priority\" : 0, \"repeatInterval\" : \"1 day\", \"repeatTimezone\" : null, \"lastModifiedBy\" : null, \"nextRunAt\" : ISODate(\"2016-06-20T21:39:24.931Z\"), \"lockedAt\" : null, \"lastRunAt\" : ISODate(\"2016-06-19T21:39:24.931Z\"), \"lastFinishedAt\" : ISODate(\"2016-06-19T21:39:24.932Z\") }<\/pre>\n<p>Agenda is pretty featureful.\u00a0For example you can use it with cron format too.<\/p>\n<p>For example running our job every minute<\/p>\n<pre class=\"brush:js\">agenda.on('ready',function() {\r\n agenda.every('* * * * *','send email');\r\n agenda.start();\r\n});<\/pre>\n<p>Other cool features is retrieving jobs in a mongodb query format and modifying them.<\/p>\n<pre class=\"brush:js\">agenda.jobs({name: 'send email'}, function(err, jobs) {\r\n});<\/pre>\n<p>Last but not least <a href=\"https:\/\/github.com\/moudy\/agenda-ui\">agenda-ui<\/a> is a great tool for visualizing agenda jobs.<\/p>\n<p>Overall agenda is my personal favorite when it comes to adding josb to my node.js application.\u00a0It is backed by mongodb and easy to configure.\u00a0I believe that one of its main strengths is giving you good control over your jobs.<\/p>\n<div class=\"attribution\">\n<table>\n<tbody>\n<tr>\n<td><span class=\"reference\">Reference: <\/span><\/td>\n<td><a href=\"https:\/\/egkatzioura.wordpress.com\/2016\/06\/19\/scheduling-jobs-on-node-js-with-agenda\/\">Scheduling jobs on Node.js with agenda<\/a> from our <a href=\"http:\/\/www.webcodegeeks.com\/join-us\/wcg\/\">WCG partner<\/a> Emmanouil Gkatziouras at the <a href=\"http:\/\/egkatzioura.wordpress.com\/\">gkatzioura<\/a> blog.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>There are many ways to schedule jobs in your application. A very common practice is to back our jobs with persistence.\u00a0By doing so we will be informed in the future if the job did fail or succeed and when it should be the next execution. Agenda is a light-weight job scheduling library for node.js. It &hellip;<\/p>\n","protected":false},"author":99,"featured_media":924,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[26],"tags":[],"class_list":["post-13431","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-node-js"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Scheduling jobs on Node.js with agenda - Web Code Geeks - 2026<\/title>\n<meta name=\"description\" content=\"There are many ways to schedule jobs in your application. A very common practice is to back our jobs with persistence.\u00a0By doing so we will be informed in\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.webcodegeeks.com\/javascript\/node-js\/scheduling-jobs-node-js-agenda\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Scheduling jobs on Node.js with agenda - Web Code Geeks - 2026\" \/>\n<meta property=\"og:description\" content=\"There are many ways to schedule jobs in your application. A very common practice is to back our jobs with persistence.\u00a0By doing so we will be informed in\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.webcodegeeks.com\/javascript\/node-js\/scheduling-jobs-node-js-agenda\/\" \/>\n<meta property=\"og:site_name\" content=\"Web Code Geeks\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/webcodegeeks\" \/>\n<meta property=\"article:published_time\" content=\"2016-06-23T09:15:56+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/nodejs-logo.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"150\" \/>\n\t<meta property=\"og:image:height\" content=\"150\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Emmanouil Gkatziouras\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@webcodegeeks\" \/>\n<meta name=\"twitter:site\" content=\"@webcodegeeks\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Emmanouil Gkatziouras\" \/>\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\":\"Article\",\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/node-js\/scheduling-jobs-node-js-agenda\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/node-js\/scheduling-jobs-node-js-agenda\/\"},\"author\":{\"name\":\"Emmanouil Gkatziouras\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/f242ded62465cfd1f8f091603351ba96\"},\"headline\":\"Scheduling jobs on Node.js with agenda\",\"datePublished\":\"2016-06-23T09:15:56+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/node-js\/scheduling-jobs-node-js-agenda\/\"},\"wordCount\":265,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/node-js\/scheduling-jobs-node-js-agenda\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/nodejs-logo.jpg\",\"articleSection\":[\"Node.js\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.webcodegeeks.com\/javascript\/node-js\/scheduling-jobs-node-js-agenda\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/node-js\/scheduling-jobs-node-js-agenda\/\",\"url\":\"https:\/\/www.webcodegeeks.com\/javascript\/node-js\/scheduling-jobs-node-js-agenda\/\",\"name\":\"Scheduling jobs on Node.js with agenda - Web Code Geeks - 2026\",\"isPartOf\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/node-js\/scheduling-jobs-node-js-agenda\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/node-js\/scheduling-jobs-node-js-agenda\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/nodejs-logo.jpg\",\"datePublished\":\"2016-06-23T09:15:56+00:00\",\"description\":\"There are many ways to schedule jobs in your application. A very common practice is to back our jobs with persistence.\u00a0By doing so we will be informed in\",\"breadcrumb\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/node-js\/scheduling-jobs-node-js-agenda\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.webcodegeeks.com\/javascript\/node-js\/scheduling-jobs-node-js-agenda\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/node-js\/scheduling-jobs-node-js-agenda\/#primaryimage\",\"url\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/nodejs-logo.jpg\",\"contentUrl\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/nodejs-logo.jpg\",\"width\":150,\"height\":150},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/node-js\/scheduling-jobs-node-js-agenda\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.webcodegeeks.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"JavaScript\",\"item\":\"https:\/\/www.webcodegeeks.com\/category\/javascript\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Node.js\",\"item\":\"https:\/\/www.webcodegeeks.com\/category\/javascript\/node-js\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Scheduling jobs on Node.js with agenda\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#website\",\"url\":\"https:\/\/www.webcodegeeks.com\/\",\"name\":\"Web Code Geeks\",\"description\":\"Web Developers Resource Center\",\"publisher\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.webcodegeeks.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#organization\",\"name\":\"Exelixis Media P.C.\",\"url\":\"https:\/\/www.webcodegeeks.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png\",\"contentUrl\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png\",\"width\":864,\"height\":246,\"caption\":\"Exelixis Media P.C.\"},\"image\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/webcodegeeks\",\"https:\/\/x.com\/webcodegeeks\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/f242ded62465cfd1f8f091603351ba96\",\"name\":\"Emmanouil Gkatziouras\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/5c6d031d211ab786ec335687ad6f3f076f93f47e24c92d78041d2f805ee6c291?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/5c6d031d211ab786ec335687ad6f3f076f93f47e24c92d78041d2f805ee6c291?s=96&d=mm&r=g\",\"caption\":\"Emmanouil Gkatziouras\"},\"description\":\"He is a versatile software engineer with experience in a wide variety of applications\/services.He is enthusiastic about new projects, embracing new technologies, and getting to know people in the field of software.\",\"sameAs\":[\"http:\/\/egkatzioura.wordpress.com\/\",\"https:\/\/gr.linkedin.com\/in\/gkatziourasemmanouil\"],\"url\":\"https:\/\/www.webcodegeeks.com\/author\/emmanouil-gkatziouras\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Scheduling jobs on Node.js with agenda - Web Code Geeks - 2026","description":"There are many ways to schedule jobs in your application. A very common practice is to back our jobs with persistence.\u00a0By doing so we will be informed in","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:\/\/www.webcodegeeks.com\/javascript\/node-js\/scheduling-jobs-node-js-agenda\/","og_locale":"en_US","og_type":"article","og_title":"Scheduling jobs on Node.js with agenda - Web Code Geeks - 2026","og_description":"There are many ways to schedule jobs in your application. A very common practice is to back our jobs with persistence.\u00a0By doing so we will be informed in","og_url":"https:\/\/www.webcodegeeks.com\/javascript\/node-js\/scheduling-jobs-node-js-agenda\/","og_site_name":"Web Code Geeks","article_publisher":"https:\/\/www.facebook.com\/webcodegeeks","article_published_time":"2016-06-23T09:15:56+00:00","og_image":[{"width":150,"height":150,"url":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/nodejs-logo.jpg","type":"image\/jpeg"}],"author":"Emmanouil Gkatziouras","twitter_card":"summary_large_image","twitter_creator":"@webcodegeeks","twitter_site":"@webcodegeeks","twitter_misc":{"Written by":"Emmanouil Gkatziouras","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.webcodegeeks.com\/javascript\/node-js\/scheduling-jobs-node-js-agenda\/#article","isPartOf":{"@id":"https:\/\/www.webcodegeeks.com\/javascript\/node-js\/scheduling-jobs-node-js-agenda\/"},"author":{"name":"Emmanouil Gkatziouras","@id":"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/f242ded62465cfd1f8f091603351ba96"},"headline":"Scheduling jobs on Node.js with agenda","datePublished":"2016-06-23T09:15:56+00:00","mainEntityOfPage":{"@id":"https:\/\/www.webcodegeeks.com\/javascript\/node-js\/scheduling-jobs-node-js-agenda\/"},"wordCount":265,"commentCount":0,"publisher":{"@id":"https:\/\/www.webcodegeeks.com\/#organization"},"image":{"@id":"https:\/\/www.webcodegeeks.com\/javascript\/node-js\/scheduling-jobs-node-js-agenda\/#primaryimage"},"thumbnailUrl":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/nodejs-logo.jpg","articleSection":["Node.js"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.webcodegeeks.com\/javascript\/node-js\/scheduling-jobs-node-js-agenda\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.webcodegeeks.com\/javascript\/node-js\/scheduling-jobs-node-js-agenda\/","url":"https:\/\/www.webcodegeeks.com\/javascript\/node-js\/scheduling-jobs-node-js-agenda\/","name":"Scheduling jobs on Node.js with agenda - Web Code Geeks - 2026","isPartOf":{"@id":"https:\/\/www.webcodegeeks.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.webcodegeeks.com\/javascript\/node-js\/scheduling-jobs-node-js-agenda\/#primaryimage"},"image":{"@id":"https:\/\/www.webcodegeeks.com\/javascript\/node-js\/scheduling-jobs-node-js-agenda\/#primaryimage"},"thumbnailUrl":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/nodejs-logo.jpg","datePublished":"2016-06-23T09:15:56+00:00","description":"There are many ways to schedule jobs in your application. A very common practice is to back our jobs with persistence.\u00a0By doing so we will be informed in","breadcrumb":{"@id":"https:\/\/www.webcodegeeks.com\/javascript\/node-js\/scheduling-jobs-node-js-agenda\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.webcodegeeks.com\/javascript\/node-js\/scheduling-jobs-node-js-agenda\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.webcodegeeks.com\/javascript\/node-js\/scheduling-jobs-node-js-agenda\/#primaryimage","url":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/nodejs-logo.jpg","contentUrl":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/nodejs-logo.jpg","width":150,"height":150},{"@type":"BreadcrumbList","@id":"https:\/\/www.webcodegeeks.com\/javascript\/node-js\/scheduling-jobs-node-js-agenda\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.webcodegeeks.com\/"},{"@type":"ListItem","position":2,"name":"JavaScript","item":"https:\/\/www.webcodegeeks.com\/category\/javascript\/"},{"@type":"ListItem","position":3,"name":"Node.js","item":"https:\/\/www.webcodegeeks.com\/category\/javascript\/node-js\/"},{"@type":"ListItem","position":4,"name":"Scheduling jobs on Node.js with agenda"}]},{"@type":"WebSite","@id":"https:\/\/www.webcodegeeks.com\/#website","url":"https:\/\/www.webcodegeeks.com\/","name":"Web Code Geeks","description":"Web Developers Resource Center","publisher":{"@id":"https:\/\/www.webcodegeeks.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.webcodegeeks.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.webcodegeeks.com\/#organization","name":"Exelixis Media P.C.","url":"https:\/\/www.webcodegeeks.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.webcodegeeks.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","contentUrl":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","width":864,"height":246,"caption":"Exelixis Media P.C."},"image":{"@id":"https:\/\/www.webcodegeeks.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/webcodegeeks","https:\/\/x.com\/webcodegeeks"]},{"@type":"Person","@id":"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/f242ded62465cfd1f8f091603351ba96","name":"Emmanouil Gkatziouras","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/5c6d031d211ab786ec335687ad6f3f076f93f47e24c92d78041d2f805ee6c291?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5c6d031d211ab786ec335687ad6f3f076f93f47e24c92d78041d2f805ee6c291?s=96&d=mm&r=g","caption":"Emmanouil Gkatziouras"},"description":"He is a versatile software engineer with experience in a wide variety of applications\/services.He is enthusiastic about new projects, embracing new technologies, and getting to know people in the field of software.","sameAs":["http:\/\/egkatzioura.wordpress.com\/","https:\/\/gr.linkedin.com\/in\/gkatziourasemmanouil"],"url":"https:\/\/www.webcodegeeks.com\/author\/emmanouil-gkatziouras\/"}]}},"_links":{"self":[{"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/posts\/13431","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/users\/99"}],"replies":[{"embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/comments?post=13431"}],"version-history":[{"count":0,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/posts\/13431\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/media\/924"}],"wp:attachment":[{"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/media?parent=13431"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/categories?post=13431"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/tags?post=13431"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}