{"id":9686,"date":"2019-10-17T08:52:00","date_gmt":"2019-10-17T14:52:00","guid":{"rendered":"https:\/\/swimlane.com\/resource\/understanding-apis-rest\/"},"modified":"2026-03-03T04:23:12","modified_gmt":"2026-03-03T11:23:12","slug":"entendendo-apis-rest","status":"publish","type":"sw_resource","link":"https:\/\/swimlane.com\/pt\/blog\/understanding-apis-rest\/","title":{"rendered":"Entendendo APIs: REST"},"content":{"rendered":"\n\n\n<section class=\"bs-section bs-section-50ac0cc438dbf2f3b380783c05a3c736bb0670e7 bs-section---default bs-section--blog-inner-banner  \"><style>.bs-section.bs-section-50ac0cc438dbf2f3b380783c05a3c736bb0670e7{ background-color: #000743;} <\/style><div class=\"container\">\n<div class=\"bs-row row  flex-md-row-reverse bs-row---default\">\n<div class=\" bs-column col-sm-12 col-md-12 col-lg-6   bs-column-6770b3369b6c61539d3140cb52ed6bc5ec393625 bs-column---default bs-column--right d-flex flex-column justify-content-end    \"><figure class=\"wp-block-post-featured-image\"><img decoding=\"async\" src=\"https:\/\/swimlane.com\/wp-content\/uploads\/REST-APIs.png\" class=\"attachment-post-thumbnail size-post-thumbnail wp-post-image\" alt=\"REST APIs concept illustration showing application programming interface integration enabling automated data exchange between security platforms.\" style=\"object-fit:cover;\" srcset=\"https:\/\/swimlane.com\/wp-content\/uploads\/REST-APIs.png 800w, https:\/\/swimlane.com\/wp-content\/uploads\/REST-APIs-300x202.png 300w, https:\/\/swimlane.com\/wp-content\/uploads\/REST-APIs-768x516.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/figure><\/div>\n\n\n\n<div class=\" bs-column col-sm-12  col-md-12 col-lg-6   bs-column-2ba18c9b6304620af4785b54fe900bf0ce0fc4d5 bs-column---default d-flex flex-column    \"><div class=\"wp-block-post-date\"><time datetime=\"2019-10-17T08:52:00-06:00\">Out 17, 2019<\/time><\/div>\n\n<h1 class=\"wp-block-post-title has-text-color has-white-color\">Understanding APIs: REST<\/h1>\n\n\n<div class=\"bs-div bs-div-44a15e4b99450b7aaf810333a0fbaa4ff5112133 bs-div---default\"><div class=\"bs-div__inner d-flex flex-wrap align-items-center    \">\n<a class=\"bs-post__author has-text-align-center\" href=\"https:\/\/swimlane.com\/pt\/author\/Nick_Tausek\/\">\n\t<div class=\"profile-desc\">\n\t\t<figure>\n\t\t\t<img decoding=\"async\" src=\"https:\/\/swimlane.com\/wp-content\/uploads\/author_Nick_Tausek.jpg\" alt=\"user-avatar\">\n\t\t<\/figure>\n\t\t<span class=\"prefix\"><\/span>\n\t\t<span class=\"name\">\n\t\t\tNick Tausek\t\t<\/span>\n\t<\/div>\n<\/a>\n\n\n\n<div class=\"reading-time\">\n    <span class=\"reading-time__time\">6 <\/span> Minute Read\n<\/div><\/div><\/div>\n<\/div>\n<\/div>\n<\/div><\/section>\n\n\n\n\n\n\n\n\n\n<section class=\"bs-section bs-section-205a03f93391472c82564395e3b5684e68c8ef7d bs-section---default bs-section--blog-inner-main-contents  \"><div class=\"container\">\n<div class=\"bs-row row justify-content-between  bs-row---default\">\n<div class=\" bs-column col-sm-12 col-md-1   bs-column-fa02c15a19a9c2952663733986e45d4eef708638 bs-column---default     \"><div class=\"heateor_sss_sharing_container heateor_sss_horizontal_sharing\" data-heateor-ss-offset=\"0\" data-heateor-sss-href='https:\/\/swimlane.com\/pt\/blog\/understanding-apis-rest\/'><div class=\"heateor_sss_sharing_ul\"><a aria-label=\"Email\" class=\"heateor_sss_email\" href=\"https:\/\/swimlane.com\/pt\/blog\/understanding-apis-rest\/\" onclick=\"event.preventDefault();window.open('mailto:?subject=' + decodeURIComponent('Understanding%20APIs%3A%20REST').replace('&', '%26') + '&body=https%3A%2F%2Fswimlane.com%2Fpt%2Fblog%2Funderstanding-apis-rest%2F', '_blank')\" title=\"Email\" rel=\"noopener\" style=\"font-size:32px!important;box-shadow:none;display:inline-block;vertical-align:middle\"><span class=\"heateor_sss_svg\" style=\"background-color:#649a3f;width:35px;height:35px;border-radius:999px;display:inline-block;opacity:1;float:left;font-size:32px;box-shadow:none;display:inline-block;font-size:16px;padding:0 4px;vertical-align:middle;background-repeat:repeat;overflow:hidden;padding:0;cursor:pointer;box-sizing:content-box\"><svg style=\"display:block;border-radius:999px;\" focusable=\"false\" aria-hidden=\"true\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"100%\" height=\"100%\" viewBox=\"-.75 -.5 36 36\"><path d=\"M 5.5 11 h 23 v 1 l -11 6 l -11 -6 v -1 m 0 2 l 11 6 l 11 -6 v 11 h -22 v -11\" stroke-width=\"1\" fill=\"#fff\"><\/path><\/svg><\/span><\/a><a aria-label=\"Twitter\" class=\"heateor_sss_button_twitter\" href=\"https:\/\/twitter.com\/intent\/tweet?text=Understanding%20APIs%3A%20REST&url=https%3A%2F%2Fswimlane.com%2Fpt%2Fblog%2Funderstanding-apis-rest%2F\" title=\"Twitter\" rel=\"nofollow noopener\" target=\"_blank\" style=\"font-size:32px!important;box-shadow:none;display:inline-block;vertical-align:middle\"><span class=\"heateor_sss_svg heateor_sss_s__default heateor_sss_s_twitter\" style=\"background-color:#55acee;width:35px;height:35px;border-radius:999px;display:inline-block;opacity:1;float:left;font-size:32px;box-shadow:none;display:inline-block;font-size:16px;padding:0 4px;vertical-align:middle;background-repeat:repeat;overflow:hidden;padding:0;cursor:pointer;box-sizing:content-box\"><svg style=\"display:block;border-radius:999px;\" focusable=\"false\" aria-hidden=\"true\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"100%\" height=\"100%\" viewBox=\"-4 -4 39 39\"><path d=\"M28 8.557a9.913 9.913 0 0 1-2.828.775 4.93 4.93 0 0 0 2.166-2.725 9.738 9.738 0 0 1-3.13 1.194 4.92 4.92 0 0 0-3.593-1.55 4.924 4.924 0 0 0-4.794 6.049c-4.09-.21-7.72-2.17-10.15-5.15a4.942 4.942 0 0 0-.665 2.477c0 1.71.87 3.214 2.19 4.1a4.968 4.968 0 0 1-2.23-.616v.06c0 2.39 1.7 4.38 3.952 4.83-.414.115-.85.174-1.297.174-.318 0-.626-.03-.928-.086a4.935 4.935 0 0 0 4.6 3.42 9.893 9.893 0 0 1-6.114 2.107c-.398 0-.79-.023-1.175-.068a13.953 13.953 0 0 0 7.55 2.213c9.056 0 14.01-7.507 14.01-14.013 0-.213-.005-.426-.015-.637.96-.695 1.795-1.56 2.455-2.55z\" fill=\"#fff\"><\/path><\/svg><\/span><\/a><a aria-label=\"Facebook\" class=\"heateor_sss_facebook\" href=\"https:\/\/www.facebook.com\/sharer\/sharer.php?u=https%3A%2F%2Fswimlane.com%2Fpt%2Fblog%2Funderstanding-apis-rest%2F\" title=\"Facebook\" rel=\"nofollow noopener\" target=\"_blank\" style=\"font-size:32px!important;box-shadow:none;display:inline-block;vertical-align:middle\"><span class=\"heateor_sss_svg\" style=\"background-color:#0765FE;width:35px;height:35px;border-radius:999px;display:inline-block;opacity:1;float:left;font-size:32px;box-shadow:none;display:inline-block;font-size:16px;padding:0 4px;vertical-align:middle;background-repeat:repeat;overflow:hidden;padding:0;cursor:pointer;box-sizing:content-box\"><svg style=\"display:block;border-radius:999px;\" focusable=\"false\" aria-hidden=\"true\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"100%\" height=\"100%\" viewBox=\"0 0 32 32\"><path fill=\"#fff\" d=\"M28 16c0-6.627-5.373-12-12-12S4 9.373 4 16c0 5.628 3.875 10.35 9.101 11.647v-7.98h-2.474V16H13.1v-1.58c0-4.085 1.849-5.978 5.859-5.978.76 0 2.072.15 2.608.298v3.325c-.283-.03-.775-.045-1.386-.045-1.967 0-2.728.745-2.728 2.683V16h3.92l-.673 3.667h-3.247v8.245C23.395 27.195 28 22.135 28 16Z\"><\/path><\/svg><\/span><\/a><a aria-label=\"Linkedin\" class=\"heateor_sss_button_linkedin\" href=\"https:\/\/www.linkedin.com\/sharing\/share-offsite\/?url=https%3A%2F%2Fswimlane.com%2Fpt%2Fblog%2Funderstanding-apis-rest%2F\" title=\"Linkedin\" rel=\"nofollow noopener\" target=\"_blank\" style=\"font-size:32px!important;box-shadow:none;display:inline-block;vertical-align:middle\"><span class=\"heateor_sss_svg heateor_sss_s__default heateor_sss_s_linkedin\" style=\"background-color:#0077b5;width:35px;height:35px;border-radius:999px;display:inline-block;opacity:1;float:left;font-size:32px;box-shadow:none;display:inline-block;font-size:16px;padding:0 4px;vertical-align:middle;background-repeat:repeat;overflow:hidden;padding:0;cursor:pointer;box-sizing:content-box\"><svg style=\"display:block;border-radius:999px;\" focusable=\"false\" aria-hidden=\"true\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"100%\" height=\"100%\" viewBox=\"0 0 32 32\"><path d=\"M6.227 12.61h4.19v13.48h-4.19V12.61zm2.095-6.7a2.43 2.43 0 0 1 0 4.86c-1.344 0-2.428-1.09-2.428-2.43s1.084-2.43 2.428-2.43m4.72 6.7h4.02v1.84h.058c.56-1.058 1.927-2.176 3.965-2.176 4.238 0 5.02 2.792 5.02 6.42v7.395h-4.183v-6.56c0-1.564-.03-3.574-2.178-3.574-2.18 0-2.514 1.7-2.514 3.46v6.668h-4.187V12.61z\" fill=\"#fff\"><\/path><\/svg><\/span><\/a><\/div><div class=\"heateorSssClear\"><\/div><\/div>\n<\/div>\n\n\n\n<div class=\" bs-column col-sm-12  col-lg-8 col-md-11   bs-column-0d83d6d9863f92131cc95492d42e5b50c72f00bb bs-column---default bs-column--contents     \">\n<h2 class=\"wp-block-heading\" id=\"h-nbsp\">&nbsp;<\/h2>\n\n\n\n<p><a href=\"https:\/\/swimlane.com\/solutions\/security-automation-and-orchestration\">Security orchestration, automation and response (SOAR)<\/a> platforms rely heavily on APIs (application programming interfaces) to drive orchestration of disparate security tools (products) and invoke desired responses in the form of actions. Besides SOAR products, APIs are commonplace among almost all services, tools, and products used by technical workers.<\/p>\n\n\n\n<p>Even though APIs are extremely common, you may not have experience using them or even know that a service has one when interacting with it. For example, Facebook uses an API framework called <a href=\"https:\/\/developers.facebook.com\/docs\/graph-api\/\" target=\"_blank\" rel=\"noreferrer noopener\">Graph API<\/a>.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u201cThe Graph API is the primary way for apps to read and write to the Facebook social graph.\u201d<\/p>\n<\/blockquote>\n\n\n\n<p>APIs come in many different forms, but no matter which API framework is used for a service, it enables technical professionals to interface with a system or service. APIs enable us to rapidly develop and connect one system to another, whether that is strictly internal to a single application or on a larger scale like Swimlane.<\/p>\n\n\n\n<p>The use of APIs provides individuals (and organizations) across the world a way to share and interact with information quickly, securely (if implemented properly of course) and in a defined (described) format. Without APIs automation would not exist as it stands today.<\/p>\n\n\n\n<p>In part one of this two-part series, I am going to provide an overview of REST (Representable State Transfer) APIs, as well as the key points to help jump-start your understanding of APIs.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-authentication\">Authentication<\/h3>\n\n\n\n<p>REST APIs typically require some mechanism of authentication to interact with the API. This is standard when interacting with a paid product or service, but not necessarily with open-source intelligence tools (OSINT) or other free services on the internet.<\/p>\n\n\n\n<p>There are several standard and custom authentication methods that APIs use. It is impossible to list them all, but you will commonly see a few of these types of authentication methods:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>\n<p>Type<\/p>\n<\/td><td>\n<p>Example<\/p>\n<\/td><td>\n<p>Description<\/p>\n<\/td><\/tr><tr><td>\n<p>No Authentication<\/p>\n<\/td><td>\n<p>Querying ThreatMiner\u2019s API and lookup up the domain google.com<\/p>\n<\/td><td>\n<p>An API that does not require you to add any additional information when requesting data from an API<\/p>\n<\/td><\/tr><tr><td>\n<p>Username &amp; Password<\/p>\n<\/td><td>\n<p>Querying Microsoft Exchange on-premises API<\/p>\n<\/td><td>\n<p>An API that requires basic authentication using your username and password<\/p>\n<\/td><\/tr><tr><td>\n<p>Token<\/p>\n<\/td><td>\n<p>Querying haveibeenpwned.com, which requires that you create a free account and API token.<\/p>\n<\/td><td>\n<p>An API that requires you to have a unique token to use the API service. Typically this token must be provided in the header of your request.<\/p>\n<\/td><\/tr><tr><td>\n<p>Delegation<\/p>\n<\/td><td>\n<p>Using Microsoft Graph API, which requires OAuth2 Authentication<\/p>\n<\/td><td>\n<p>An API which works in conjunction with an authentication service which provides you with temporary tokens to use the API.<\/p>\n<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>These are just a few examples of the different authentication mechanisms that a service can use. Depending on the product and company, they may choose a standard like the ones above or they may choose to use their own.<\/p>\n\n\n\n<p>The main purpose of these authentication mechanisms is to ensure you have the correct access rights for the service and to also ensure that you are staying within their prescribed usage limits for the service.<\/p>\n\n\n\n<p>If you are interested in a deep-dive into Microsoft\u2019s implementation of OAuth2, then checkout this three part series I wrote which explains more about this specific authentication mechanism: <a href=\"https:\/\/swimlane.com\/blog\/microsoft-oauth2-implementation-1\/\">Part 1<\/a>, <a href=\"https:\/\/swimlane.com\/blog\/microsoft-oauth2-implementation-2\/\">Part 2<\/a>, and<a href=\"https:\/\/swimlane.com\/blog\/microsoft-oauth2-implementation-3\/\"> Part 3<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-versions\">Versions<\/h3>\n\n\n\n<p>Going forward, I will be using a fictitious service called <em>Josh\u2019s Threat Intelligence Service<\/em> and the URL for this service is: <a href=\"https:\/\/joshsthreatintel.example\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/joshsthreatintel.example<\/a>.<\/p>\n\n\n\n<p>You may visit a site like this and interact with it as you normally would any other website, but behind it contains an API that allows you to access information programmatically to drive automation.<\/p>\n\n\n\n<p>A good API will have very good documentation which outlines the details on how to authenticate and use the service. A common standard used is <a href=\"https:\/\/swagger.io\/\" target=\"_blank\" rel=\"noreferrer noopener\">Swagger<\/a>, but we don\u2019t need to understand what swagger is (it\u2019s a standard which enables faster development of APIs and standardization when it comes to documentation of them).<\/p>\n\n\n\n<p>At <a href=\"https:\/\/joshsthreatintel.example\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/joshsthreatintel.example<\/a> our API is versioned and can be accessed by adding <em>\/v1<\/em> to our URL. If you access this folder on our website, it could be blank, you may receive some notification that you are not authenticated, or it may be a page that shows you the documentation for the API. Either way, the root of our API will be accessed by using this URL: <a href=\"https:\/\/joshsthreatintel.example\/v1\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/joshsthreatintel.example\/v1\/<\/a>.<\/p>\n\n\n\n<p>Each API you will come across may have one or more versions. For example havibeenpwned.com has three:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><a href=\"https:\/\/haveibeenpwned.com\/API\/v1\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/haveibeenpwned.com\/API\/v1<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/haveibeenpwned.com\/API\/v3\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/haveibeenpwned.com\/API\/v3<\/a><\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-methods\">Methods<\/h3>\n\n\n\n<p>REST-based APIs are intended to be interacted with by specific methods defined within their source code. These methods respond differently based on the type used and the data sent to the API. The typical methods you will see when interacting with an API are listed in the table below:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>\n<p>Method<\/p>\n<\/td><td>\n<p>Term Description<\/p>\n<\/td><td>\n<p>Description<\/p>\n<\/td><\/tr><tr><td>\n<p>GET<\/p>\n<\/td><td>\n<p>Retrieve or Read<\/p>\n<\/td><td>\n<p>GET methods are used to retrieve information from an API<\/p>\n<\/td><\/tr><tr><td>\n<p>POST<\/p>\n<\/td><td>\n<p>Create or Add or Invoke<\/p>\n<\/td><td>\n<p>POST methods are used to create or add data, or used to invoke an action<\/p>\n<\/td><\/tr><tr><td>\n<p>PUT<\/p>\n<\/td><td>\n<p>Patch or Update<\/p>\n<\/td><td>\n<p>PUT methods are used to update data or modify it in some way<\/p>\n<\/td><\/tr><tr><td>\n<p>DELETE<\/p>\n<\/td><td>\n<p>Destroy or Remove<\/p>\n<\/td><td>\n<p>DELETE methods are used to remove data or to stop an action<\/p>\n<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>The most common methods you will come across are GET and POST. Depending on the type of API (REST or SOAP) and service, you may have to supply additional information when making an API request in the headers of your request.<\/p>\n\n\n\n<p>Typically, in a GET request, you will send an http request to an endpoint (path on a URL) to retrieve specific information from the API. For example, imagine our fictitious threat intelligence service has an endpoint called <em>ip<\/em> and requires that you provide an IP address to this endpoint. This endpoint may look like <em>\/ip\/123.123.123.123,<\/em> which we append to our root URL: <em><a href=\"https:\/\/joshsthreatintel.example\/v1\/ip\/123.123.123.123\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/joshsthreatintel.example\/v1\/ip\/123.123.123.123<\/a>.<\/em><\/p>\n\n\n\n<p>As part of our request, we specify in our call to this endpoint that we are performing a <em>GET<\/em> request, and we are wanting information about the IP address 123.123.123.123.<\/p>\n\n\n\n<p>Here are two examples of doing this in Python and PowerShell Core:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Python:<\/strong>\n<ul class=\"wp-block-list\">\n<li><em>import requests<\/em><\/li>\n\n\n\n<li><em>response = requests.get(\u2018https:\/\/joshsthreatintel.example\/v1\/ip\/123.123.123.123\u2019)<\/em><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>PowerShell:<\/strong><p>&nbsp;<\/p>\n<ul class=\"wp-block-list\">\n<li><em>$response = Invoke-RestMethod -Uri \u2018<a href=\"https:\/\/joshsthreatintel.example\/v1\/ip\/123.123.123.123\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/joshsthreatintel.example\/v1\/ip\/123.123.123.123<\/a>\u2019 -Method GET<\/em><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p>A different endpoint may be able available that allows you to <em>POST<\/em> a specific URL to our fictitious service (<em>Josh\u2019s Threat Intelligence Service)<\/em> so that it can be scanned for malicious activity. This endpoint is called <em>url<\/em> and would be appended to our root URL: <em><a href=\"https:\/\/joshsthreatintel.example\/v1\/url\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/joshsthreatintel.example\/v1\/url<\/a>.<\/em><\/p>\n\n\n\n<p>In additional to the normal http request, when we are posting to this fake service to scan a URL, we must provide in the <em>body<\/em> of our request the URL we want <em>Josh\u2019s Threat Intelligence Service<\/em> to scan. An example of this in Python is:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">import requests\nbody = { 'url': 'http:\/\/some.malicious.website.com' }\nresponse = requests.post('https:\/\/joshsthreatintel.example\/v1\/url', data=body}\n<\/pre>\n\n\n\n<p>You will find that the above example is common, and preferred by most APIs, but this endpoint could also allow you to <em>GET<\/em> a URL using query parameters.<\/p>\n\n\n\n<p>A query parameter, at its basic level, is a way to filter or select information from an API. Query parameters are commonly seen when a service allows the user to influence the results returned from an API call, but they can be used to invoke an action; like scanning a URL instead of providing attributes in the body of an http request.<\/p>\n\n\n\n<p>Query parameters are typically appended to each other, which does reduce readability (in my opinion). Here is an example you may see when using query parameters with APIs:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">https:\/\/joshsthreatintel.example\/v1\/url?url=some.malicious.website.com \n{website path to api}\/{endpoint}?{param=value}\n<\/pre>\n\n\n\n<p>As you can see from the above example, we have the root path of our API and then the endpoint; which is the <em>URL <\/em>in this case. After the <em>URL <\/em>endpoint, we can see our query parameter. Our query parameter starts with a <em>?<\/em> and is then followed by a parameter name and the value we are using for that parameter.<\/p>\n\n\n\n<p>An API endpoint may allow you to specify several query parameters. For example, here is the URL syntax for retrieving information from RIPE\u2019s (R\u00e9seaux IP Europ\u00e9ens) REST API for a specific IP address:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">https:\/\/rest.db.ripe.net\/search?source=ripe&amp;query-string={querystring} \n{website path to api}\/{endpoint}?{param=value}&amp;{param=value}\n<\/pre>\n\n\n\n<p>You may have noticed the addition of an <em>&amp;,<\/em> which indicates that there is another query parameter. This also contains a parameter name and a value we are using for this parameter. An API could allow you to have several of these appended to each other. You will need to look at the APIs documentation to see what is allowed for a specific endpoint.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>You will find that real life APIs will choose to use query parameters or require that you provide a key value pair of data to the body of a request.<\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-headers\">Headers<\/h3>\n\n\n\n<p>When using APIs, you may be required to add additional information to a <em>GET <\/em>or <em>POST<\/em> or another method to the <em>headers<\/em> of an http request. This may be an authentication token, specifying the content type, or providing other information.<\/p>\n\n\n\n<p>In basic terms, a <em>header<\/em> value is metadata used to establish a connection with an API. This metadata is used by the API to authenticate or set the environment for the type of action\/request to perform.<\/p>\n\n\n\n<p>It is extremely common that APIs which require authentication will require that you provide a token in your http request headers. This token can be a long term token, or in the case of a delegation based (e.g. OAuth2) authentication scheme a temporal token that must be refreshed after a period of time. Either way, providing this authentication is common for APIs.<\/p>\n\n\n\n<p>You may also need to specify <em>Accept<\/em> or <em>Content-Type<\/em> headers along with an <em>Authorization<\/em> header. In simplest terms, a header is typically in the format of a key value pair. Here is an example in Python of what these two headers may look like:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">custom_headers = { \n'Accept': 'application\/json', \n'Authorization': 'Bearer {SOME_AUTHENTICATION_TOKEN}' }\n<\/pre>\n\n\n\n<p>These headers are then sent along with our http request to the server. Headers may or may not be required when using an API, and if it is required by an API it will typically be required for all methods used in your http requests.<\/p>\n\n\n\n<p>I hope this helps with understanding the basics of REST APIs. In the next post, I will break down SOAP (Simple Object Access Protocol) APIs which are much more complex than REST APIs.<\/p>\n\n\n\n<div class=\"bs-div bs-div-f220fd693220b8d187cf27a170c4009a8c8fe3ce bs-div---default bs-div--blog-inner-download-guide\"><style>.bs-div.bs-div-f220fd693220b8d187cf27a170c4009a8c8fe3ce {background-image: url(https:\/\/swimlane.com\/wp-content\/uploads\/2022\/10\/download-report.png); background-position: center center;\n    background-size: cover;} <\/style><div class=\"bs-div__inner d-flex flex-wrap justify-content-center  flex-md-row-reverse align-items-md-center justify-content-md-between flex-md-nowrap  \"><div class='media-elements bs-media-element---default enable'>    <div class='bs-common-image'>\n                            <figure class='figure justify-content-start d-flex'>\n                            <picture>\n                            \n                            <img src='https:\/\/swimlane.com\/wp-content\/uploads\/Turbine_playbook_Add-panel-filter_search-3-1.gif' class='img-fluid'   alt='Animated GIF showing Swimlane Turbine playbook interface with advanced panel filtering and automated logic search.' title='' data-gif= \"https:\/\/swimlane.com\/wp-content\/uploads\/Turbine_playbook_Add-panel-filter_search-3-1.gif\" \/>\n                            <\/picture>\n                                \n                            <\/figure>\n                        <\/div><\/div>\n\n\n<div class=\"bs-div bs-div-773aef0a3852274bc6b23f7985e05efd194e399e bs-div---default\"><div class=\"bs-div__inner     \">\n<h2 class=\"wp-block-heading has-white-color has-text-color\" id=\"h-request-a-demo\">Request a Demo<\/h2>\n\n\n\n<p class=\"has-white-color has-text-color\">Schedule a Swimlane Turbine live demonstration with our experts! Learn how our AI-enabled security automation platform can help you solve the most challenging problems across your entire security organization.<\/p>\n\n\n\n<span class=\"bs-pro-button bs-pro-button---default bs-pro-button--primary-with-arrow-small bs-pro-button-p-btn-b9a65ac977059f2e5b91a2d45ad8f7b70e20d12b\"><style>.bs-pro-button-p-btn-b9a65ac977059f2e5b91a2d45ad8f7b70e20d12b .bs-pro-button__container {background-color: #abb8c3; color: #000000;}<\/style><a href=\"https:\/\/swimlane.com\/demo\/\" target=\"\" rel=\"noopener noreferrer\" class=\"bs-pro-button__container\">Request a Demo<\/a><\/span>\n<\/div><\/div>\n<\/div><\/div>\n<\/div>\n\n\n\n<div class=\" bs-column col-sm-12  col-md-12 col-lg-3   bs-column-0ad64702520e52820989c3b8a4a5574abd826112 bs-column---default     \">\n<div class=\"bs-div bs-div-f0851be86a4542da358c10ec17ccebffa17efe07 bs-div---default bs-div--tags\"><div class=\"bs-div__inner     \">\n<h2 class=\"wp-block-heading\" id=\"h-tags\">Tags<\/h2>\n\n\n<div class=\"post-tag-wrapper\">\n    <p><\/p><\/div>\n<\/div><\/div>\n\n\n\n<div class=\"bs-div bs-div-5e7267355d8caf36f5b5e0c86eef387b664b848d bs-div---default bs-div--related-posts\"><div class=\"bs-div__inner     \">\n<h2 class=\"wp-block-heading\" id=\"h-related-posts\">Related Posts<\/h2>\n\n\n\n<div class=\"bs-related-posts bs-related-posts-block---default\"><div class=\"bs-related-posts__container\"><div class=\"bs-related-posts__items\">\n<div class=\" bs-column col-sm-4   bs-column-b619eb984092e720779a969a873521d2ec1a85a5 bs-column---default     \">\t\t\t\t\t<div class=\"bs-post bs-post-69d8cd83d874a bs-single-post---default enable\" >\n\t\t\t<a class=\"bs-post__trigger\" href='https:\/\/swimlane.com\/pt\/blog\/common-rest-api-authentication-methods-explained-2\/' target='_self'>\t\t\t<div class=\"bs-post__inner\">\n\t\t\t\t<div class=\"bs-post__details\">    <div class=\"bs-post__date\">\n        <span>Abr 21, 2021<\/span>\n    <\/div>\n    <div class=\"bs-post__title\">\n        <h5>Common REST API Authentication Methods Explained<\/h5>\n    <\/div>\n<div class=\"bs-post__learn-more\">\n    <span class='btn learn-more-text bs-post__learn-more-text'>Read More<\/span><\/div>\n<\/div>\t\t\t<\/div>\n\t\t\t<\/a>\t\t<\/div>\n\t<\/div>\n\n\n\n<div class=\" bs-column col-sm-4   bs-column-b619eb984092e720779a969a873521d2ec1a85a5 bs-column---default     \">\t\t\t\t\t<div class=\"bs-post bs-post-69d8cd83d98ed bs-single-post---default enable\" >\n\t\t\t<a class=\"bs-post__trigger\" href='https:\/\/swimlane.com\/pt\/blog\/risk-prioritization\/' target='_self'>\t\t\t<div class=\"bs-post__inner\">\n\t\t\t\t<div class=\"bs-post__details\">    <div class=\"bs-post__date\">\n        <span>Ago 7, 2025<\/span>\n    <\/div>\n    <div class=\"bs-post__title\">\n        <h5>Guide to Risk-Based Prioritization: Understanding Types and Key Factors<\/h5>\n    <\/div>\n<div class=\"bs-post__learn-more\">\n    <span class='btn learn-more-text bs-post__learn-more-text'>Read More<\/span><\/div>\n<\/div>\t\t\t<\/div>\n\t\t\t<\/a>\t\t<\/div>\n\t<\/div>\n\n\n\n<div class=\" bs-column col-sm-4   bs-column-b619eb984092e720779a969a873521d2ec1a85a5 bs-column---default     \">\t\t\t\t\t<div class=\"bs-post bs-post-69d8cd83dab82 bs-single-post---default enable\" >\n\t\t\t<a class=\"bs-post__trigger\" href='https:\/\/swimlane.com\/pt\/blog\/understanding-data-privacy-regulation-in-the-us-and-how-soar-can-help\/' target='_self'>\t\t\t<div class=\"bs-post__inner\">\n\t\t\t\t<div class=\"bs-post__details\">    <div class=\"bs-post__date\">\n        <span>Set 18, 2020<\/span>\n    <\/div>\n    <div class=\"bs-post__title\">\n        <h5>Understanding Data Privacy Regulation in the US and how SOAR can Help<\/h5>\n    <\/div>\n<div class=\"bs-post__learn-more\">\n    <span class='btn learn-more-text bs-post__learn-more-text'>Read More<\/span><\/div>\n<\/div>\t\t\t<\/div>\n\t\t\t<\/a>\t\t<\/div>\n\t<\/div>\n<\/div><\/div><\/div>\n<\/div><\/div>\n\n\n<\/div>\n<\/div>\n<\/div><\/section>\n\n\n\n<section class=\"bs-section bs-section-2a4a600ae9ab197b6a4ccafe05152bf1a2fde1d1 bs-section---default bs-section--newsletter bs-section--common-marketo-form bs-section--common-marketo-form-two-columns  \"><style>.bs-section.bs-section-2a4a600ae9ab197b6a4ccafe05152bf1a2fde1d1{ background-color: #000743;} <\/style><div class=\"container-fluid\">\n<div class=\"bs-row row   bs-row---default\">\n<div class=\" bs-column col-sm-0 col-md-0 col-lg-6   bs-column-df5e10bef85c15055718b4d93887855962017939 bs-column---default     \">\n<h2 class=\"wp-block-heading has-white-color has-text-color\" id=\"requestor\">Request a Live Demo<\/h2>\n<\/div>\n\n\n\n<div class=\" bs-column col-sm-0 col-md-0 col-lg-6   bs-column-df5e10bef85c15055718b4d93887855962017939 bs-column---default     \"><div class='media-elements bs-media-element---default enable'>    <div class='bs-common-image'>\n                            <figure class='figure justify-content-start d-flex'>\n                            <picture>\n                            \n                            <img src='https:\/\/swimlane.com\/wp-content\/uploads\/liitp.svg' class='img-fluid'   alt='' title=''  \/>\n                            <\/picture>\n                                \n                            <\/figure>\n                        <\/div><\/div>\n\n<script src=\"\/\/pages.swimlane.com\/js\/forms2\/js\/forms2.min.js\"><\/script>\n<form id=\"mktoForm_1017\"><\/form>\n<script>\n    var embeddedFormId = '05a6905d0187a23e165b2fd995e965fe15cb94f6';\n    var marketoBaseUrl = '\/\/pages.swimlane.com';\n    var munchkinId = '978-QCM-390';\n    var formId = '1017';\n    var responseType = 'redirect';\n    var responseMessage = 'Thank you!';\n    var redirectURL = '';\n    var downloadFileURL = '';\n    var linkOpenType = '_self';\n    var popupVideo = 'url';\n    var popupVideoURL = '';\n    var popupVideoUploadURL = '';\n    MktoForms2.loadForm(marketoBaseUrl, munchkinId, formId, function(form) {\n        form.onSuccess(function(values, followUpUrl) {\n            document.getElementById(\"int_mktoForm_\" + formId).innerHTML = responseMessage;\n                    });\n    });\n<\/script>\n<div class=\"form-submit-note\" id=\"int_mktoForm_1017\"><\/div>\n<!-- Incluing form response options -->\n\n\n\n<script>\n    (function() {\n        \/\/ Please include the email domains you would like to block in this list\n        var invalidDomains = [\"@gmail.\", \"@yahoo.\", \"@hotmail.\", \"@live.\", \"@icloud.\",\"@aol.\", \"@outlook.\", \"@proton.\", \"@mailinator.\"];\n\n\n        MktoForms2.whenReady(function(form) {\n            form.onValidate(function() {\n                var email = form.vals().Email;\n                if (email) {\n                    if (!isEmailGood(email)) {\n                        form.submitable(false);\n                        var emailElem = form.getFormElem().find(\"#Email\");\n                        form.showErrorMessage(\"Must be Business email.\", emailElem);\n                    } else {\n                        form.submitable(true);\n                    }\n                }\n            });\n        });\n\n        function isEmailGood(email) {\n            for (var i = 0; i < invalidDomains.length; i++) {\n                var domain = invalidDomains[i];\n                if (email.indexOf(domain) != -1) {\n                    return false;\n                }\n            }\n            return true;\n        }\n\n\n    })(); \n<\/script>\n<\/div>\n<\/div>\n<\/div><\/section>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":22,"featured_media":9687,"template":"","meta":{"_acf_changed":false,"show_custom_date":false,"custom_date":"","featured":false,"featured_image":0,"learn_more_label":"","image_alt_text":"","learn_more_type":"","learn_more_link":[],"show_popup":false,"disable_iframe":false,"enable_lazy_loading":false,"learn_more_link_file":0,"event_date":false,"event_start_date":"","event_end_date":"","featured_page_list":[],"_relevanssi_hide_post":"","_relevanssi_hide_content":"","_relevanssi_pin_for_all":"","_relevanssi_pin_keywords":"","_relevanssi_unpin_keywords":"","_relevanssi_related_keywords":"","_relevanssi_related_include_ids":"","_relevanssi_related_exclude_ids":"","_relevanssi_related_no_append":"","_relevanssi_related_not_related":"","_relevanssi_related_posts":"","_relevanssi_noindex_reason":"","inline_featured_image":false,"footnotes":""},"tags":[],"resource-type":[67],"resource-topic":[],"resource-industry":[],"blog-category":[70],"class_list":["post-9686","sw_resource","type-sw_resource","status-publish","has-post-thumbnail","hentry","resource-type-blogs","blog-category-secops"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v22.5 (Yoast SEO v27.1.1) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Understanding APIs: REST<\/title>\n<meta name=\"description\" content=\"Understanding APIs: REST\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/swimlane.com\/pt\/blogue\/entendendo-apis-rest\/\" \/>\n<meta property=\"og:locale\" content=\"pt_PT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Understanding APIs: REST\" \/>\n<meta property=\"og:description\" content=\"Understanding APIs: REST\" \/>\n<meta property=\"og:url\" content=\"https:\/\/swimlane.com\/pt\/blogue\/entendendo-apis-rest\/\" \/>\n<meta property=\"og:site_name\" content=\"AI Security Automation\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-03T11:23:12+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/swimlane.com\/wp-content\/uploads\/REST-APIs.png\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"538\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@swimlane\" \/>\n<meta name=\"twitter:label1\" content=\"Tempo estimado de leitura\" \/>\n\t<meta name=\"twitter:data1\" content=\"8 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/swimlane.com\/pt\/blog\/understanding-apis-rest\/\",\"url\":\"https:\/\/swimlane.com\/pt\/blog\/understanding-apis-rest\/\",\"name\":\"Understanding APIs: REST\",\"isPartOf\":{\"@id\":\"https:\/\/swimlane.com\/pt\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/swimlane.com\/pt\/blog\/understanding-apis-rest\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/swimlane.com\/pt\/blog\/understanding-apis-rest\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/swimlane.com\/wp-content\/uploads\/REST-APIs.png\",\"datePublished\":\"2019-10-17T14:52:00+00:00\",\"dateModified\":\"2026-03-03T11:23:12+00:00\",\"description\":\"Understanding APIs: REST\",\"breadcrumb\":{\"@id\":\"https:\/\/swimlane.com\/pt\/blog\/understanding-apis-rest\/#breadcrumb\"},\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/swimlane.com\/pt\/blog\/understanding-apis-rest\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/swimlane.com\/pt\/blog\/understanding-apis-rest\/#primaryimage\",\"url\":\"https:\/\/swimlane.com\/wp-content\/uploads\/REST-APIs.png\",\"contentUrl\":\"https:\/\/swimlane.com\/wp-content\/uploads\/REST-APIs.png\",\"width\":800,\"height\":538,\"caption\":\"REST APIs concept illustration showing application programming interface integration enabling automated data exchange between security platforms.\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/swimlane.com\/pt\/blog\/understanding-apis-rest\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/swimlane.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Understanding APIs: REST\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/swimlane.com\/pt\/#website\",\"url\":\"https:\/\/swimlane.com\/pt\/\",\"name\":\"Low-Code Security Automation & SOAR Platform | Swimlane\",\"description\":\"Agentic AI automation for every security function\",\"publisher\":{\"@id\":\"https:\/\/swimlane.com\/pt\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/swimlane.com\/pt\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-PT\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/swimlane.com\/pt\/#organization\",\"name\":\"Low-Code Security Automation & SOAR Platform | Swimlane\",\"url\":\"https:\/\/swimlane.com\/pt\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/swimlane.com\/pt\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/swimlane.com\/wp-content\/uploads\/sw-inline-logo-color-white.svg\",\"contentUrl\":\"https:\/\/swimlane.com\/wp-content\/uploads\/sw-inline-logo-color-white.svg\",\"width\":912,\"height\":190,\"caption\":\"Low-Code Security Automation & SOAR Platform | Swimlane\"},\"image\":{\"@id\":\"https:\/\/swimlane.com\/pt\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/swimlane\",\"https:\/\/www.linkedin.com\/company\/swimlane\/\"]}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Entendendo APIs: REST","description":"Entendendo APIs: REST","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:\/\/swimlane.com\/pt\/blogue\/entendendo-apis-rest\/","og_locale":"pt_PT","og_type":"article","og_title":"Understanding APIs: REST","og_description":"Understanding APIs: REST","og_url":"https:\/\/swimlane.com\/pt\/blogue\/entendendo-apis-rest\/","og_site_name":"AI Security Automation","article_modified_time":"2026-03-03T11:23:12+00:00","og_image":[{"width":800,"height":538,"url":"https:\/\/swimlane.com\/wp-content\/uploads\/REST-APIs.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_site":"@swimlane","twitter_misc":{"Tempo estimado de leitura":"8 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/swimlane.com\/pt\/blog\/understanding-apis-rest\/","url":"https:\/\/swimlane.com\/pt\/blog\/understanding-apis-rest\/","name":"Entendendo APIs: REST","isPartOf":{"@id":"https:\/\/swimlane.com\/pt\/#website"},"primaryImageOfPage":{"@id":"https:\/\/swimlane.com\/pt\/blog\/understanding-apis-rest\/#primaryimage"},"image":{"@id":"https:\/\/swimlane.com\/pt\/blog\/understanding-apis-rest\/#primaryimage"},"thumbnailUrl":"https:\/\/swimlane.com\/wp-content\/uploads\/REST-APIs.png","datePublished":"2019-10-17T14:52:00+00:00","dateModified":"2026-03-03T11:23:12+00:00","description":"Entendendo APIs: REST","breadcrumb":{"@id":"https:\/\/swimlane.com\/pt\/blog\/understanding-apis-rest\/#breadcrumb"},"inLanguage":"pt-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/swimlane.com\/pt\/blog\/understanding-apis-rest\/"]}]},{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/swimlane.com\/pt\/blog\/understanding-apis-rest\/#primaryimage","url":"https:\/\/swimlane.com\/wp-content\/uploads\/REST-APIs.png","contentUrl":"https:\/\/swimlane.com\/wp-content\/uploads\/REST-APIs.png","width":800,"height":538,"caption":"REST APIs concept illustration showing application programming interface integration enabling automated data exchange between security platforms."},{"@type":"BreadcrumbList","@id":"https:\/\/swimlane.com\/pt\/blog\/understanding-apis-rest\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/swimlane.com\/"},{"@type":"ListItem","position":2,"name":"Understanding APIs: REST"}]},{"@type":"WebSite","@id":"https:\/\/swimlane.com\/pt\/#website","url":"https:\/\/swimlane.com\/pt\/","name":"Automa\u00e7\u00e3o de seguran\u00e7a de baixo c\u00f3digo e plataforma SOAR | Swimlane","description":"Automa\u00e7\u00e3o de IA ag\u00eantica para todas as fun\u00e7\u00f5es de seguran\u00e7a","publisher":{"@id":"https:\/\/swimlane.com\/pt\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/swimlane.com\/pt\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-PT"},{"@type":"Organization","@id":"https:\/\/swimlane.com\/pt\/#organization","name":"Automa\u00e7\u00e3o de seguran\u00e7a de baixo c\u00f3digo e plataforma SOAR | Swimlane","url":"https:\/\/swimlane.com\/pt\/","logo":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/swimlane.com\/pt\/#\/schema\/logo\/image\/","url":"https:\/\/swimlane.com\/wp-content\/uploads\/sw-inline-logo-color-white.svg","contentUrl":"https:\/\/swimlane.com\/wp-content\/uploads\/sw-inline-logo-color-white.svg","width":912,"height":190,"caption":"Low-Code Security Automation & SOAR Platform | Swimlane"},"image":{"@id":"https:\/\/swimlane.com\/pt\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/swimlane","https:\/\/www.linkedin.com\/company\/swimlane\/"]}]}},"publishpress_future_workflow_manual_trigger":{"enabledWorkflows":[]},"_links":{"self":[{"href":"https:\/\/swimlane.com\/pt\/wp-json\/wp\/v2\/sw_resource\/9686","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/swimlane.com\/pt\/wp-json\/wp\/v2\/sw_resource"}],"about":[{"href":"https:\/\/swimlane.com\/pt\/wp-json\/wp\/v2\/types\/sw_resource"}],"author":[{"embeddable":true,"href":"https:\/\/swimlane.com\/pt\/wp-json\/wp\/v2\/users\/22"}],"version-history":[{"count":2,"href":"https:\/\/swimlane.com\/pt\/wp-json\/wp\/v2\/sw_resource\/9686\/revisions"}],"predecessor-version":[{"id":54417,"href":"https:\/\/swimlane.com\/pt\/wp-json\/wp\/v2\/sw_resource\/9686\/revisions\/54417"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/swimlane.com\/pt\/wp-json\/wp\/v2\/media\/9687"}],"wp:attachment":[{"href":"https:\/\/swimlane.com\/pt\/wp-json\/wp\/v2\/media?parent=9686"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/swimlane.com\/pt\/wp-json\/wp\/v2\/tags?post=9686"},{"taxonomy":"resource-type","embeddable":true,"href":"https:\/\/swimlane.com\/pt\/wp-json\/wp\/v2\/resource-type?post=9686"},{"taxonomy":"resource-topic","embeddable":true,"href":"https:\/\/swimlane.com\/pt\/wp-json\/wp\/v2\/resource-topic?post=9686"},{"taxonomy":"resource-industry","embeddable":true,"href":"https:\/\/swimlane.com\/pt\/wp-json\/wp\/v2\/resource-industry?post=9686"},{"taxonomy":"blog-category","embeddable":true,"href":"https:\/\/swimlane.com\/pt\/wp-json\/wp\/v2\/blog-category?post=9686"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}