{"id":855,"date":"2019-09-16T00:25:05","date_gmt":"2019-09-16T00:25:05","guid":{"rendered":"https:\/\/live-infoblox-blog.pantheonsite.io\/?p=855"},"modified":"2022-10-20T14:34:49","modified_gmt":"2022-10-20T21:34:49","slug":"consolidate-your-wapis-using-the-request-object","status":"publish","type":"post","link":"https:\/\/www.infoblox.com\/blog\/community\/consolidate-your-wapis-using-the-request-object\/","title":{"rendered":"Consolidate your WAPIs using the Request Object"},"content":{"rendered":"<p>Infoblox offers Web-based Application Programming Interfaces, also called WAPIs, that are REST-based and allows you to easily integrate NIOS into your automation environment.<\/p>\n<p><a href=\"https:\/\/community.infoblox.com\/t5\/Best-Practices\/Why-use-Infoblox-WAPIs\/ba-p\/13262\" target=\"_blank\" rel=\"noopener noreferrer\">This<\/a>\u00a0article talks about why you need to use WAPIs.<\/p>\n<p>Some workflows using WAPIs require multiple API calls. Below are a few examples of such workflows and the steps involved:<\/p>\n<ul>\n<li>Deleting a host record:\n<ol>\n<li>Get the object reference of the host record in questioncurl -k -u admin:infoblox -X GET &#8220;<a href=\"https:\/\/127.0.0.1\/wapi\/v2.10\/record:host?name=host1.info.com&amp;_return_as_object=1\" target=\"_blank\" rel=\"noopener nofollow noreferrer\">https:\/\/127.0.0.1\/wapi\/v2.10\/record:host?name=host1.info.com&amp;_return_as_object=1<\/a>&#8220;<\/li>\n<li>Issue a call to delete itcurl -k -u admin:infoblox -H &#8216;content-type: application\/json&#8217; -X DELETE &#8220;<a href=\"https:\/\/127.0.0.1\/wapi\/v2.10\/record:host\/ZG5zLmhvc3QkLl9kZWZhdWx0LmNvbS5pbmZvLmhvc3Qx:host1.info.com\/default?_return_as_object=1\" target=\"_blank\" rel=\"noopener nofollow noreferrer\">https:\/\/127.0.0.1\/wapi\/v2.10\/record:host\/ZG5zLmhvc3QkLl9kZWZhdWx0LmNvbS5pbmZvLmhvc3Qx:host1.info.com&#8230;<\/a>&#8220;<\/li>\n<\/ol>\n<\/li>\n<li>Enable DHCP Service on a member:\n<ol>\n<li>Get the object reference of the member DHCP properties objectcurl -k -u admin:infoblox -X GET &#8220;<a href=\"https:\/\/127.0.0.1\/wapi\/v2.10\/\" target=\"_blank\" rel=\"noopener nofollow noreferrer\">https:\/\/127.0.0.1\/wapi\/v2.10\/<\/a>\u00a0member:dhcpproperties?_return_as_object=1&#8243;<\/li>\n<li>Issue a call to enable the DHCP servicecurl -k -u admin:infoblox -H &#8216;content-type: application\/json&#8217;-X PUT &#8220;<a href=\"https:\/\/127.0.0.1\/wapi\/v2.10\/member:dhcpproperties\/ZG5zLm1lbWJlcl9kaGNwX3Byb3BlcnRpZXMkMQ:member1.localdomain?_return_as_object=1\" target=\"_blank\" rel=\"noopener nofollow noreferrer\">https:\/\/127.0.0.1\/wapi\/v2.10\/member:dhcpproperties\/ZG5zLm1lbWJlcl9kaGNwX3Byb3BlcnRpZXMkMQ:member1.lo&#8230;<\/a>&#8221; -d &#8216;{&#8220;enable_dhcp&#8221;:true}&#8217;<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n<p>To simplify these workflows and use a single WAPI call to issue multiple commands, you can use the \/request object.<\/p>\n<h2 id=\"toc-hId--1333105305\">The request object<\/h2>\n<p>This object allows the control of WAPI through a single-entry point. The object supports only the POST method and does not support URI arguments.<\/p>\n<p>The request object supports both single object requests and multiple object requests.<\/p>\n<p>Single object body requests can be used for any supported WAPI operations, including scheduling and approval. Only HTTP methods (GET, PUT, DELETE and POST) are valid methods for the single object body requests.<\/p>\n<p>Multiple object body requests are composed of a list of single requests. Using this, you can combine multiple WAPI calls.<\/p>\n<h2 id=\"toc-hId--445601624\">Fields supported<\/h2>\n<p>The following fields are supported as part of the multiple object body request:<\/p>\n<table style=\"border: solid 1px #f5f5f5;\">\n<tbody>\n<tr>\n<td style=\"padding: 10px;\" width=\"141\"><strong>Field<\/strong><\/td>\n<td style=\"padding: 10px;\" width=\"80\"><strong>Type<\/strong><\/td>\n<td style=\"padding: 10px;\" width=\"241\"><strong>Description<\/strong><\/td>\n<td style=\"padding: 10px;\" width=\"161\"><strong>Supported values<\/strong><\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 10px;\" width=\"141\">data<\/td>\n<td style=\"padding: 10px;\" width=\"80\">Dictionary<\/td>\n<td style=\"padding: 10px;\" width=\"241\">Data that is dependent on the method and is sent in the body of a normal WAPI request.<\/td>\n<td style=\"padding: 10px;\" width=\"161\"><\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 10px;\" width=\"141\">args<\/td>\n<td style=\"padding: 10px;\" width=\"80\">Dictionary<\/td>\n<td style=\"padding: 10px;\" width=\"241\">Arguments for object body requests. These arguments are appended to the URI in a normal WAPI request.<\/td>\n<td style=\"padding: 10px;\" width=\"161\">_function, _schema, _return_fields, _return_fields+, _return_as_object, _max_results<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 10px;\" width=\"141\">method<\/td>\n<td style=\"padding: 10px;\" width=\"80\">String<\/td>\n<td style=\"padding: 10px;\" width=\"241\">Method of the operation. Supported methods include the HTTP methods and STATE object methods.<\/td>\n<td style=\"padding: 10px;\" width=\"161\">GET, PUT, POST, DELETE, STATE:ASSIGN, STATE: DISPLAY<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 10px;\" width=\"141\">object<\/td>\n<td style=\"padding: 10px;\" width=\"80\">String<\/td>\n<td style=\"padding: 10px;\" width=\"241\">The object used for the operation.<\/td>\n<td style=\"padding: 10px;\" width=\"161\">For a normal WAPI, this can either be an object type such as \u2018network\u2019 for a GET operation, or a WAPI object such as \u2018network\/dAs4&#8230;\u2019 for a PUT operation.<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 10px;\" width=\"141\">enable_substitution<\/td>\n<td style=\"padding: 10px;\" width=\"80\">Boolean<\/td>\n<td style=\"padding: 10px;\" width=\"241\">Determines if the variables created in the stated request can be used for the current operation.<\/td>\n<td style=\"padding: 10px;\" width=\"161\">true, false<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 10px;\" width=\"141\">assign_state<\/td>\n<td style=\"padding: 10px;\" width=\"80\">Dictionary<\/td>\n<td style=\"padding: 10px;\" width=\"241\">Fields of the result object in the current operation, which should be saved in the request state object for the next operation in the multiple object body request. This also supports saving the extensible attribute value and a specific array member.<\/td>\n<td style=\"padding: 10px;\" width=\"161\"><\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 10px;\" width=\"141\">discard<\/td>\n<td style=\"padding: 10px;\" width=\"80\">Boolean<\/td>\n<td style=\"padding: 10px;\" width=\"241\">If set to true, result of the current operation will be skipped and will not be added to the returned result list.<\/td>\n<td style=\"padding: 10px;\" width=\"161\">true, false<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2 id=\"toc-hId-441902057\"><\/h2>\n<h2 id=\"toc-hId-1329405738\">STATE methods<\/h2>\n<p>In addition to the standard HTTP methods, the multiple object body request supports the following values:<\/p>\n<table style=\"border: solid 1px #f5f5f5;\">\n<tbody>\n<tr>\n<td style=\"padding: 10px;\" width=\"138\"><strong>Method<\/strong><\/td>\n<td style=\"padding: 10px;\" width=\"486\"><strong>Description<\/strong><\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 10px;\" width=\"138\">STATE:ASSIGN<\/td>\n<td style=\"padding: 10px;\" width=\"486\">Copy fields in the data object to the state object.<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 10px;\" width=\"138\">STATE: DISPLAY<\/td>\n<td style=\"padding: 10px;\" width=\"486\">Add the state object to the returned result list.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2 id=\"toc-hId--2078057877\"><\/h2>\n<h2 id=\"toc-hId--1190554196\">Multiple Object Body Request Examples<\/h2>\n<ul>\n<li>Deleting a host record:curl -k -u admin:infoblox -H &#8216;content-type:application\/json&#8217; -X POST &#8220;<a href=\"https:\/\/127.0.0.1\/wapi\/v2.10\/request\" target=\"_blank\" rel=\"noopener nofollow noreferrer\">https:\/\/127.0.0.1\/wapi\/v2.10\/request<\/a>&#8221; -d &#8216;[{&#8220;method&#8221;: &#8220;STATE:ASSIGN&#8221;,&#8221;data&#8221;:{&#8220;host_name&#8221;:&#8221;host1.info.com&#8221;}},{&#8220;method&#8221;:&#8221;GET&#8221;,&#8221;object&#8221;: &#8220;record:host&#8221;,&#8221;data&#8221;: {&#8220;name&#8221;:&#8221;##STATE:host_name:## &#8220;},&#8221;assign_state&#8221;: {&#8220;host_ref&#8221;: &#8220;_ref&#8221;},&#8221;enable_substitution&#8221;: true,&#8221;discard&#8221;: true},{ &#8220;method&#8221;: &#8220;DELETE&#8221;, &#8220;object&#8221;: &#8220;##STATE:host_ref:##&#8221;,&#8221;enable_substitution&#8221;: true,&#8221;discard&#8221;: true},{&#8220;method&#8221;: &#8220;STATE: DISPLAY&#8221;}]&#8217;<\/li>\n<\/ul>\n<p>Let us look at each step separately:<\/p>\n<ol>\n<li>{&#8220;method&#8221;: &#8220;STATE:ASSIGN&#8221;,<br \/>\n&#8220;data&#8221;:{&#8220;host_name&#8221;:&#8221;host1.info.com&#8221;}}<br \/>\nThis step assigns the value \u201chost1.info.com\u201d to the variable \u201chost_name\u201d in the state object.<\/li>\n<li>{&#8220;method&#8221;:&#8221;GET&#8221;,<br \/>\n&#8220;object&#8221;: &#8220;record:host&#8221;,<br \/>\n&#8220;data&#8221;: {&#8220;name&#8221;:&#8221;##STATE:host_name:## &#8220;},<br \/>\n&#8220;assign_state&#8221;: {&#8220;host_ref&#8221;: &#8220;_ref&#8221;},<br \/>\n&#8220;enable_substitution&#8221;: true,<br \/>\n&#8220;discard&#8221;: true}<br \/>\nThis step issues a GET request to fetch the host record with the name stored in the \u201chost_name\u201d variable from the previous step (host1.info.com), and stores the \u201c_ref\u201d in the output to the variable \u201chost_ref\u201d in the state object. The result of this operation will not be displayed in the final output list.<\/li>\n<li>{ &#8220;method&#8221;: &#8220;DELETE&#8221;,<br \/>\n&#8220;object&#8221;: &#8220;##STATE:host_ref:##&#8221;,<br \/>\n&#8220;enable_substitution&#8221;: true,<br \/>\n&#8220;discard&#8221;: true}<br \/>\nThis step issues a DELETE request to delete the host record using the object reference stored in \u201chost_ref\u201d variable from the previous step. The result of this operation will not be displayed in the final output list.<\/li>\n<li>{&#8220;method&#8221;: &#8220;STATE: DISPLAY&#8221;}<br \/>\nThis step displays the all the variables stored in the state object along with the result list.<\/li>\n<\/ol>\n<p>Final output looks like below:<\/p>\n<p>[{&#8220;host_name&#8221;: &#8220;host1.test.com&#8221;,<\/p>\n<p>&#8220;host_ref&#8221;: &#8220;record:host\/ZG5zLmhvc3QkLl9kZWZhdWx0LmNvbS50ZXN0Lmhvc3Qx:host1.test.com\/default&#8221;}]<\/p>\n<ul>\n<li>Enable DHCP Service on a member:<\/li>\n<\/ul>\n<p>curl -k -u admin:infoblox -H &#8216;content-type:application\/json&#8217; -X POST &#8220;<a href=\"https:\/\/127.0.0.1\/wapi\/v2.10\/request\" target=\"_blank\" rel=\"noopener nofollow noreferrer\">https:\/\/127.0.0.1\/wapi\/v2.10\/request<\/a>&#8221; &#8211; d &#8216;[{&#8220;method&#8221;: &#8220;STATE:ASSIGN&#8221;,&#8221;data&#8221;:{&#8220;member_name&#8221;:&#8221;member1.localdomain&#8221;}},{&#8220;method&#8221;:&#8221;GET&#8221;,&#8221;object&#8221;: &#8220;member:dhcpproperties&#8221;,&#8221;data&#8221;: {&#8220;host_name&#8221;:&#8221;##STATE:member_name:##&#8221;},&#8221;assign_state&#8221;: {&#8220;host_ref&#8221;: &#8220;_ref&#8221;},&#8221;enable_substitution&#8221;: true,&#8221;discard&#8221;: true},{ &#8220;method&#8221;: &#8220;PUT&#8221;, &#8220;object&#8221;: &#8220;##STATE:host_ref:##&#8221;,&#8221;enable_substitution&#8221;: true,&#8221;data&#8221;: {&#8220;enable_dhcp&#8221;:true}},{&#8220;method&#8221;: &#8220;STATE: DISPLAY&#8221;}]&#8217;<\/p>\n<p>Let us look at each step separately:<\/p>\n<ol>\n<li>{&#8220;method&#8221;: &#8220;STATE:ASSIGN&#8221;,<br \/>\n&#8220;data&#8221;:{&#8220;member_name&#8221;:&#8221;localdomain&#8221;}}<br \/>\nThis step assigns the value \u201cmember1.localdomain\u201d to the variable \u201cmember_name\u201d in the state object.<\/li>\n<li>{&#8220;method&#8221;:&#8221;GET&#8221;,&#8221;object&#8221;:<br \/>\n&#8220;member:dhcpproperties&#8221;,<br \/>\n&#8220;data&#8221;: {&#8220;host_name&#8221;:&#8221;##STATE:member_name:##&#8221;},<br \/>\n&#8220;assign_state&#8221;: {&#8220;host_ref&#8221;: &#8220;_ref&#8221;},<br \/>\n&#8220;enable_substitution&#8221;: true,<br \/>\n&#8220;discard&#8221;: true}<br \/>\nThis step issues a GET request to fetch the DHCP properties of the member with the name stored in the \u201cmember_name\u201d variable from the previous step (member1.localdomain), and stores the \u201c_ref\u201d in the output to the variable \u201chost_ref\u201d in the state object. The result of this operation will not be displayed in the final output list.<\/li>\n<li>{ &#8220;method&#8221;: &#8220;PUT&#8221;,<br \/>\n&#8220;object&#8221;: &#8220;##STATE:host_ref:##&#8221;,<br \/>\n&#8220;enable_substitution&#8221;: true,<br \/>\n&#8220;data&#8221;: {&#8220;enable_dhcp&#8221;:true}}<br \/>\nThis step issues a PUT request to modify the member DHCP properties using the object reference stored in \u201chost_ref\u201d variable from the previous step. The output from this step is displayed.<\/li>\n<li>{&#8220;method&#8221;: &#8220;STATE: DISPLAY&#8221;}<br \/>\nThis step displays the all the variables stored in the state object along with the result list.<\/li>\n<\/ol>\n<p>Final output looks like below:<\/p>\n<p>[&#8220;member:dhcpproperties\/ZG5zLm1lbWJlcl9kaGNwX3Byb3BlcnRpZXMkMQ:member1.localdomain&#8221;,<\/p>\n<p>{&#8220;host_ref&#8221;: &#8220;member:dhcpproperties\/ZG5zLm1lbWJlcl9kaGNwX3Byb3BlcnRpZXMkMQ:member1.localdomain&#8221;,<\/p>\n<p>&#8220;member_name&#8221;: &#8220;member1.localdomain&#8221;}]<\/p>\n<h2 id=\"toc-hId--303050515\">More Examples<\/h2>\n<p>There are more examples covered in the Multiple Object Body Feature using \/request section in\u00a0<a href=\"https:\/\/www.infoblox.com\/wp-content\/uploads\/infoblox-deployment-infoblox-rest-api.pdf?utm_source=blox-community&amp;utm_campaign=community-q2&amp;utm_medium=blox-community\" target=\"_blank\" rel=\"noopener nofollow noreferrer\">this<\/a>\u00a0guide.<\/p>\n<p>These examples are part of the POSTMAN collection\u00a0<a href=\"\/community\/getting-started-with-wapis-using-postman\/\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a>\u00a0and the Insomnia collection\u00a0<a href=\"\/community\/getting-started-with-wapis-using-insomnia\/5\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Infoblox offers Web-based Application Programming Interfaces, also called WAPIs, that are REST-based and allows you to easily integrate NIOS into your automation environment. This\u00a0article talks about why you need to use WAPIs. Some workflows using WAPIs require multiple API calls. Below are a few examples of such workflows and the steps involved: Deleting a host [&hellip;]<\/p>\n","protected":false},"author":230,"featured_media":856,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"","footnotes":""},"categories":[3],"tags":[60],"class_list":{"0":"post-855","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-community","8":"tag-wapi","9":"entry"},"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.3 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Consolidate your WAPIs using the Request Object<\/title>\n<meta name=\"description\" content=\"Infoblox offers Web-based Application Programming Interfaces that can integrate NIOS into a network. Find out how this application can help your network here.\" \/>\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.infoblox.com\/blog\/community\/consolidate-your-wapis-using-the-request-object\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Consolidate your WAPIs using the Request Object\" \/>\n<meta property=\"og:description\" content=\"Infoblox offers Web-based Application Programming Interfaces that can integrate NIOS into a network. Find out how this application can help your network here.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.infoblox.com\/blog\/community\/consolidate-your-wapis-using-the-request-object\/\" \/>\n<meta property=\"og:site_name\" content=\"Infoblox Blog\" \/>\n<meta property=\"article:published_time\" content=\"2019-09-16T00:25:05+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-10-20T21:34:49+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.infoblox.com\/blog\/wp-content\/uploads\/for-company-blogs_edited-1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"600\" \/>\n\t<meta property=\"og:image:height\" content=\"413\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Krishna Vasudevan\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Krishna Vasudevan\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/community\\\/consolidate-your-wapis-using-the-request-object\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/community\\\/consolidate-your-wapis-using-the-request-object\\\/\"},\"author\":{\"name\":\"Krishna Vasudevan\",\"@id\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/#\\\/schema\\\/person\\\/b36c6d54e0fd1947f822a993aab5e8b8\"},\"headline\":\"Consolidate your WAPIs using the Request Object\",\"datePublished\":\"2019-09-16T00:25:05+00:00\",\"dateModified\":\"2022-10-20T21:34:49+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/community\\\/consolidate-your-wapis-using-the-request-object\\\/\"},\"wordCount\":1147,\"publisher\":{\"@id\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/community\\\/consolidate-your-wapis-using-the-request-object\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/wp-content\\\/uploads\\\/for-company-blogs_edited-1.jpg\",\"keywords\":[\"WAPI\"],\"articleSection\":[\"Community\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/community\\\/consolidate-your-wapis-using-the-request-object\\\/\",\"url\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/community\\\/consolidate-your-wapis-using-the-request-object\\\/\",\"name\":\"Consolidate your WAPIs using the Request Object\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/community\\\/consolidate-your-wapis-using-the-request-object\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/community\\\/consolidate-your-wapis-using-the-request-object\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/wp-content\\\/uploads\\\/for-company-blogs_edited-1.jpg\",\"datePublished\":\"2019-09-16T00:25:05+00:00\",\"dateModified\":\"2022-10-20T21:34:49+00:00\",\"description\":\"Infoblox offers Web-based Application Programming Interfaces that can integrate NIOS into a network. Find out how this application can help your network here.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/community\\\/consolidate-your-wapis-using-the-request-object\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/community\\\/consolidate-your-wapis-using-the-request-object\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/community\\\/consolidate-your-wapis-using-the-request-object\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/wp-content\\\/uploads\\\/for-company-blogs_edited-1.jpg\",\"contentUrl\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/wp-content\\\/uploads\\\/for-company-blogs_edited-1.jpg\",\"width\":600,\"height\":413},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/community\\\/consolidate-your-wapis-using-the-request-object\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Community\",\"item\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/category\\\/community\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Consolidate your WAPIs using the Request Object\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/\",\"name\":\"infoblox.com\\\/blog\\\/\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/#organization\",\"name\":\"Infoblox\",\"url\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/wp-content\\\/uploads\\\/infoblox-logo-2.svg\",\"contentUrl\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/wp-content\\\/uploads\\\/infoblox-logo-2.svg\",\"width\":137,\"height\":30,\"caption\":\"Infoblox\"},\"image\":{\"@id\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/#\\\/schema\\\/person\\\/b36c6d54e0fd1947f822a993aab5e8b8\",\"name\":\"Krishna Vasudevan\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/live-infoblox-blog.pantheonsite.io\\\/wp-content\\\/uploads\\\/avatar_user_230_1571768556-96x96.jpg\",\"url\":\"https:\\\/\\\/live-infoblox-blog.pantheonsite.io\\\/wp-content\\\/uploads\\\/avatar_user_230_1571768556-96x96.jpg\",\"contentUrl\":\"https:\\\/\\\/live-infoblox-blog.pantheonsite.io\\\/wp-content\\\/uploads\\\/avatar_user_230_1571768556-96x96.jpg\",\"caption\":\"Krishna Vasudevan\"},\"description\":\"Krishna Vasudevan is a Technical Marketing Engineer at Infoblox. She is currently working on REST APIs, Ansible, Automation, Openstack and DTC. She has also delivered multiple training classes. Previously she was a Technical Marketing Engineer at NetApp. Krishna holds a bachelor\u2019s degree in engineering from Bangalore. She resides in Bangalore and enjoys food, music and travel.\",\"url\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/author\\\/krishna-vasudevan\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Consolidate your WAPIs using the Request Object","description":"Infoblox offers Web-based Application Programming Interfaces that can integrate NIOS into a network. Find out how this application can help your network here.","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.infoblox.com\/blog\/community\/consolidate-your-wapis-using-the-request-object\/","og_locale":"en_US","og_type":"article","og_title":"Consolidate your WAPIs using the Request Object","og_description":"Infoblox offers Web-based Application Programming Interfaces that can integrate NIOS into a network. Find out how this application can help your network here.","og_url":"https:\/\/www.infoblox.com\/blog\/community\/consolidate-your-wapis-using-the-request-object\/","og_site_name":"Infoblox Blog","article_published_time":"2019-09-16T00:25:05+00:00","article_modified_time":"2022-10-20T21:34:49+00:00","og_image":[{"width":600,"height":413,"url":"https:\/\/www.infoblox.com\/blog\/wp-content\/uploads\/for-company-blogs_edited-1.jpg","type":"image\/jpeg"}],"author":"Krishna Vasudevan","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Krishna Vasudevan","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.infoblox.com\/blog\/community\/consolidate-your-wapis-using-the-request-object\/#article","isPartOf":{"@id":"https:\/\/www.infoblox.com\/blog\/community\/consolidate-your-wapis-using-the-request-object\/"},"author":{"name":"Krishna Vasudevan","@id":"https:\/\/www.infoblox.com\/blog\/#\/schema\/person\/b36c6d54e0fd1947f822a993aab5e8b8"},"headline":"Consolidate your WAPIs using the Request Object","datePublished":"2019-09-16T00:25:05+00:00","dateModified":"2022-10-20T21:34:49+00:00","mainEntityOfPage":{"@id":"https:\/\/www.infoblox.com\/blog\/community\/consolidate-your-wapis-using-the-request-object\/"},"wordCount":1147,"publisher":{"@id":"https:\/\/www.infoblox.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.infoblox.com\/blog\/community\/consolidate-your-wapis-using-the-request-object\/#primaryimage"},"thumbnailUrl":"https:\/\/www.infoblox.com\/blog\/wp-content\/uploads\/for-company-blogs_edited-1.jpg","keywords":["WAPI"],"articleSection":["Community"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.infoblox.com\/blog\/community\/consolidate-your-wapis-using-the-request-object\/","url":"https:\/\/www.infoblox.com\/blog\/community\/consolidate-your-wapis-using-the-request-object\/","name":"Consolidate your WAPIs using the Request Object","isPartOf":{"@id":"https:\/\/www.infoblox.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.infoblox.com\/blog\/community\/consolidate-your-wapis-using-the-request-object\/#primaryimage"},"image":{"@id":"https:\/\/www.infoblox.com\/blog\/community\/consolidate-your-wapis-using-the-request-object\/#primaryimage"},"thumbnailUrl":"https:\/\/www.infoblox.com\/blog\/wp-content\/uploads\/for-company-blogs_edited-1.jpg","datePublished":"2019-09-16T00:25:05+00:00","dateModified":"2022-10-20T21:34:49+00:00","description":"Infoblox offers Web-based Application Programming Interfaces that can integrate NIOS into a network. Find out how this application can help your network here.","breadcrumb":{"@id":"https:\/\/www.infoblox.com\/blog\/community\/consolidate-your-wapis-using-the-request-object\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.infoblox.com\/blog\/community\/consolidate-your-wapis-using-the-request-object\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.infoblox.com\/blog\/community\/consolidate-your-wapis-using-the-request-object\/#primaryimage","url":"https:\/\/www.infoblox.com\/blog\/wp-content\/uploads\/for-company-blogs_edited-1.jpg","contentUrl":"https:\/\/www.infoblox.com\/blog\/wp-content\/uploads\/for-company-blogs_edited-1.jpg","width":600,"height":413},{"@type":"BreadcrumbList","@id":"https:\/\/www.infoblox.com\/blog\/community\/consolidate-your-wapis-using-the-request-object\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.infoblox.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Community","item":"https:\/\/www.infoblox.com\/blog\/category\/community\/"},{"@type":"ListItem","position":3,"name":"Consolidate your WAPIs using the Request Object"}]},{"@type":"WebSite","@id":"https:\/\/www.infoblox.com\/blog\/#website","url":"https:\/\/www.infoblox.com\/blog\/","name":"infoblox.com\/blog\/","description":"","publisher":{"@id":"https:\/\/www.infoblox.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.infoblox.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.infoblox.com\/blog\/#organization","name":"Infoblox","url":"https:\/\/www.infoblox.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.infoblox.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.infoblox.com\/blog\/wp-content\/uploads\/infoblox-logo-2.svg","contentUrl":"https:\/\/www.infoblox.com\/blog\/wp-content\/uploads\/infoblox-logo-2.svg","width":137,"height":30,"caption":"Infoblox"},"image":{"@id":"https:\/\/www.infoblox.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.infoblox.com\/blog\/#\/schema\/person\/b36c6d54e0fd1947f822a993aab5e8b8","name":"Krishna Vasudevan","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/live-infoblox-blog.pantheonsite.io\/wp-content\/uploads\/avatar_user_230_1571768556-96x96.jpg","url":"https:\/\/live-infoblox-blog.pantheonsite.io\/wp-content\/uploads\/avatar_user_230_1571768556-96x96.jpg","contentUrl":"https:\/\/live-infoblox-blog.pantheonsite.io\/wp-content\/uploads\/avatar_user_230_1571768556-96x96.jpg","caption":"Krishna Vasudevan"},"description":"Krishna Vasudevan is a Technical Marketing Engineer at Infoblox. She is currently working on REST APIs, Ansible, Automation, Openstack and DTC. She has also delivered multiple training classes. Previously she was a Technical Marketing Engineer at NetApp. Krishna holds a bachelor\u2019s degree in engineering from Bangalore. She resides in Bangalore and enjoys food, music and travel.","url":"https:\/\/www.infoblox.com\/blog\/author\/krishna-vasudevan\/"}]}},"_links":{"self":[{"href":"https:\/\/www.infoblox.com\/blog\/wp-json\/wp\/v2\/posts\/855","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.infoblox.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.infoblox.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.infoblox.com\/blog\/wp-json\/wp\/v2\/users\/230"}],"replies":[{"embeddable":true,"href":"https:\/\/www.infoblox.com\/blog\/wp-json\/wp\/v2\/comments?post=855"}],"version-history":[{"count":9,"href":"https:\/\/www.infoblox.com\/blog\/wp-json\/wp\/v2\/posts\/855\/revisions"}],"predecessor-version":[{"id":8172,"href":"https:\/\/www.infoblox.com\/blog\/wp-json\/wp\/v2\/posts\/855\/revisions\/8172"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.infoblox.com\/blog\/wp-json\/wp\/v2\/media\/856"}],"wp:attachment":[{"href":"https:\/\/www.infoblox.com\/blog\/wp-json\/wp\/v2\/media?parent=855"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.infoblox.com\/blog\/wp-json\/wp\/v2\/categories?post=855"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.infoblox.com\/blog\/wp-json\/wp\/v2\/tags?post=855"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}