{"id":3152,"date":"2024-03-13T15:57:19","date_gmt":"2024-03-13T15:57:19","guid":{"rendered":"https:\/\/www.infobip.com\/developers\/?p=3152"},"modified":"2024-03-13T15:57:19","modified_gmt":"2024-03-13T15:57:19","slug":"one-time-passwords-why-and-how","status":"publish","type":"post","link":"https:\/\/www.infobip.com\/developers\/blog\/one-time-passwords-why-and-how","title":{"rendered":"One-time passwords: why and how"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">What is a one-time password?<\/h2>\n\n\n\n<p>Traditional passwords have a couple of major drawbacks. First of all, if they\u2019re long enough to be secure, they\u2019re often difficult to remember, and that means people re-use them all the time. Secondly, if someone gets hold of your password, they can now pretend to be you until you change that password. <\/p>\n\n\n\n<p>One-time passwords (often abbreviated to OTPs) aim to address both these issues; since they\u2019re only good for one use, there\u2019s no possibility of re-using them across services, and if someone gets hold of your one-time password after you\u2019ve already used it, it\u2019s useless to them.<\/p>\n\n\n\n<p>A one-time password is a short alphanumeric code that a service will ask you for when you try to log in to it. There\u2019s a few ways that you as the user can get hold of the code &#8211; either through the use of specialized hardware, or via e-mail, SMS, WhatsApp, or dedicated OTP apps like Google Authenticator &#8211; and once you present it to the service, the server for that application will be able to verify the code and authenticate you.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Why use them?<\/h2>\n\n\n\n<p>One-time passwords serve a couple of purposes. Firstly, they act as an additional authentication factor; if you sign in to a service with a password or with SSO identity like Google, that\u2019s one authentication factor. Adding in another check, such as the ability to receive text messages at a given phone number, means extra security for your account. If someone wanted to impersonate you, they\u2019d need to have both of those things &#8211; your password or SSO identity, and access to your text messages.<\/p>\n\n\n\n<p>The second thing that they often do is to add a time and usage limit on the availability of that second factor. One-time passwords are only good for one login session (as the name suggests) and, in the case of _time-based_ one-time passwords (TOTPs) they usually only work for a given time window after they\u2019re generated. Depending on the needs of the service in question, that time window might be something like 10 minutes or 24 hours. This means that in the event where someone does manage to get access to your text messages as well as your first authentication factor, that window of vulnerability is time-limited.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How are they generated?<\/h2>\n\n\n\n<p>There are a few different usage patterns for one-time passwords. Some use specialized hardware, like a card reader for your bank card or a <a href=\"https:\/\/developers.yubico.com\/OTP\/\">Yubikey<\/a>. In these scenarios, the OTPs are usually generated using a <a href=\"https:\/\/datatracker.ietf.org\/doc\/html\/rfc6238\">time-based mechanism<\/a>. The hardware will contain a secret seed value shared with the server, and an accurate clock. The current time can be used alongside that shared secret to generate one-time passwords. However, this usage pattern requires users to own one of these pieces of hardware, which are expensive and easy to lose.<\/p>\n\n\n\n<p>Another usage pattern is to use authenticator software like Duo, Google Authenticator or Microsoft Authenticator. These apps allow smartphones to be used in place of the dedicated hardware mentioned above, and do not require the smartphone to have an internet connection. However, it does require users to have smartphones, and use cloud backups to avoid losing access to any accounts in the case when they lose their smartphone.<\/p>\n\n\n\n<p>Both the above patterns don\u2019t require communication between the service\u2019s server and the user who is attempting to authenticate. This is an important thing to consider when thinking about multiple security factors, because if an attacker can steal your password or SSO identity, they will probably be able to steal a one-time password that\u2019s communicated over the web to you.&nbsp;<\/p>\n\n\n\n<p>However, it also means that the hardware token owned by the user needs to be able to independently generate codes that will be accepted by the authenticating server. The time-based mechanisms do this, and there are also other mechanisms such as <a href=\"https:\/\/datatracker.ietf.org\/doc\/html\/rfc4226\">HMAC<\/a>, (which uses an increasing counter instead of a synchronised clock).<\/p>\n\n\n\n<p>Both the above methods can be very secure when correctly implemented, but they require users to have access to specific hardware. Not all users have smartphones, and this is part of why one-time passwords over SMS have become so prevalent. Transmitting OTPs over SMS is less secure than using hardware to generate them locally, but it\u2019s far more straightforward to implement, and more widely accessible to a range of users.<\/p>\n\n\n\n<p>When sending OTPs over SMS, there\u2019s no need for specialized algorithms to generate them. The server can generate them, send them to the user\u2019s phone number which has been previously registered, and then validate the password when the user enters it into the front end of the service. All that\u2019s required is that the passwords be random enough that anyone listening in cannot guess the next OTP by seeing any previous ones, and this isn\u2019t a difficult thing to achieve computationally.<\/p>\n\n\n\n<p>However, when using one-time passwords which are sent to the user (rather than generated locally by dedicated hardware or a smartphone), there\u2019s always a risk that someone could intercept them. SMS messaging, while widely accessible and cheap to implement, isn\u2019t encrypted, and the <a href=\"https:\/\/en.wikipedia.org\/wiki\/Signalling_System_No._7\">signalling system used by telecoms networks<\/a> is vulnerable to certain kinds of attack. Email and WhatsApp are more secure methods for sending OTPs.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How can I implement them?<\/h2>\n\n\n\n<p>If you want to implement 2FA OTPs using an authenticator app, check out the library ecosystem for your particular framework or deployment pattern. For example, the <a href=\"https:\/\/pypi.org\/project\/django-otp\/\"><code>django-otp<\/code> package<\/a> for Django and the <a href=\"https:\/\/www.npmjs.com\/package\/otplib\"><code>otplib<\/code> npm package<\/a> streamline the experience for Django and JS-based frameworks respectively.<\/p>\n\n\n\n<p>If you want to roll your own randomizer and send codes via <a href=\"https:\/\/www.infobip.com\/docs\/email\">email<\/a>, <a href=\"https:\/\/www.infobip.com\/docs\/sms\">SMS<\/a> or <a href=\"https:\/\/www.infobip.com\/docs\/whatsapp\">WhatsApp<\/a>, that\u2019s possible too. All you\u2019ll need to do is choose your preferred communication channel and store the appropriate contact details for each user, so that you know where to send codes once they\u2019re generated.<\/p>\n\n\n\n<p>If that sounds a bit overwhelming, we\u2019ve got you covered: the Infobip APIs allow you to set up and manage one-time password 2FA in a straightforward and configurable manner. Check out our tutorials for <a href=\"https:\/\/www.infobip.com\/docs\/tutorials\/two-factor-authentication-over-api\">SMS<\/a> and <a href=\"https:\/\/www.infobip.com\/docs\/tutorials\/send-verification-codes-to-your-customers\">WhatsApp<\/a>!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>What is a one-time password? Traditional passwords have a [&hellip;]<\/p>\n","protected":false},"author":53,"featured_media":3153,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[249,254,255],"tags":[35,43,34,281,278],"coauthors":[285],"class_list":["post-3152","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-devops-and-security","category-engineering-practices","category-infobip-products","tag-2fa","tag-api","tag-mfa","tag-sms","tag-whatsapp"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>One-time passwords: why and how - Infobip Developers Hub<\/title>\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.infobip.com\/developers\/blog\/one-time-passwords-why-and-how\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"One-time passwords: why and how - Infobip Developers Hub\" \/>\n<meta property=\"og:description\" content=\"What is a one-time password? Traditional passwords have a [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.infobip.com\/developers\/blog\/one-time-passwords-why-and-how\" \/>\n<meta property=\"og:site_name\" content=\"Infobip Developers Hub\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/infobip\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-13T15:57:19+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2024\/03\/OTPWAH.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1403\" \/>\n\t<meta property=\"og:image:height\" content=\"797\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Eli Holderness\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@InfobipDev\" \/>\n<meta name=\"twitter:site\" content=\"@InfobipDev\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Eli Holderness\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.infobip.com\/developers\/blog\/one-time-passwords-why-and-how#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.infobip.com\/developers\/blog\/one-time-passwords-why-and-how\"},\"author\":{\"name\":\"Eli Holderness\",\"@id\":\"https:\/\/www.infobip.com\/developers\/#\/schema\/person\/2d3f818bd258646bc997a3ec04146bbd\"},\"headline\":\"One-time passwords: why and how\",\"datePublished\":\"2024-03-13T15:57:19+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.infobip.com\/developers\/blog\/one-time-passwords-why-and-how\"},\"wordCount\":1030,\"publisher\":{\"@id\":\"https:\/\/www.infobip.com\/developers\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.infobip.com\/developers\/blog\/one-time-passwords-why-and-how#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2024\/03\/OTPWAH.png\",\"keywords\":[\"2FA\",\"API\",\"MFA\",\"SMS\",\"WhatsApp\"],\"articleSection\":[\"DevOps and Security\",\"Engineering Practices\",\"Infobip Products\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.infobip.com\/developers\/blog\/one-time-passwords-why-and-how\",\"url\":\"https:\/\/www.infobip.com\/developers\/blog\/one-time-passwords-why-and-how\",\"name\":\"One-time passwords: why and how - Infobip Developers Hub\",\"isPartOf\":{\"@id\":\"https:\/\/www.infobip.com\/developers\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.infobip.com\/developers\/blog\/one-time-passwords-why-and-how#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.infobip.com\/developers\/blog\/one-time-passwords-why-and-how#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2024\/03\/OTPWAH.png\",\"datePublished\":\"2024-03-13T15:57:19+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.infobip.com\/developers\/blog\/one-time-passwords-why-and-how#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.infobip.com\/developers\/blog\/one-time-passwords-why-and-how\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.infobip.com\/developers\/blog\/one-time-passwords-why-and-how#primaryimage\",\"url\":\"https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2024\/03\/OTPWAH.png\",\"contentUrl\":\"https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2024\/03\/OTPWAH.png\",\"width\":1403,\"height\":797,\"caption\":\"A graphic showing a stylised computer screen and a smartphone. The computer screen shows a screen reading 'My Web App' and prompting the user for a code, and the phone shows a dialog box that says 'your code is 362907'. The title of the article (One-time passwords: why and how') is also displayed on this graphic.\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.infobip.com\/developers\/blog\/one-time-passwords-why-and-how#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.infobip.com\/developers\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"One-time passwords: why and how\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.infobip.com\/developers\/#website\",\"url\":\"https:\/\/www.infobip.com\/developers\/\",\"name\":\"Infobip Developers Hub\",\"description\":\"Build meaningful customer relationships across any channel\",\"publisher\":{\"@id\":\"https:\/\/www.infobip.com\/developers\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.infobip.com\/developers\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.infobip.com\/developers\/#organization\",\"name\":\"Infobip Developers Hub\",\"url\":\"https:\/\/www.infobip.com\/developers\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.infobip.com\/developers\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2023\/03\/Infobip_logo_favicon.png\",\"contentUrl\":\"https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2023\/03\/Infobip_logo_favicon.png\",\"width\":696,\"height\":696,\"caption\":\"Infobip Developers Hub\"},\"image\":{\"@id\":\"https:\/\/www.infobip.com\/developers\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/infobip\/\",\"https:\/\/x.com\/InfobipDev\",\"https:\/\/www.youtube.com\/channel\/UCUPSTy53VecI5GIir3J3ZbQ\",\"https:\/\/github.com\/infobip-community\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.infobip.com\/developers\/#\/schema\/person\/2d3f818bd258646bc997a3ec04146bbd\",\"name\":\"Eli Holderness\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.infobip.com\/developers\/#\/schema\/person\/image\/e3fd4a8aa6b78952d057f724bcf1dff0\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/2261319993db9030e1328c712ee20e4aaedf2c9cb8e4379ae8af57f2c877d5f4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/2261319993db9030e1328c712ee20e4aaedf2c9cb8e4379ae8af57f2c877d5f4?s=96&d=mm&r=g\",\"caption\":\"Eli Holderness\"},\"description\":\"Developer advocate, conference speaker &amp; professional nerd. Likes maths, knitting, and cats.\",\"url\":\"https:\/\/www.infobip.com\/developers\/blog\/author\/eli\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"One-time passwords: why and how - Infobip Developers Hub","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.infobip.com\/developers\/blog\/one-time-passwords-why-and-how","og_locale":"en_US","og_type":"article","og_title":"One-time passwords: why and how - Infobip Developers Hub","og_description":"What is a one-time password? Traditional passwords have a [&hellip;]","og_url":"https:\/\/www.infobip.com\/developers\/blog\/one-time-passwords-why-and-how","og_site_name":"Infobip Developers Hub","article_publisher":"https:\/\/www.facebook.com\/infobip\/","article_published_time":"2024-03-13T15:57:19+00:00","og_image":[{"width":1403,"height":797,"url":"https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2024\/03\/OTPWAH.png","type":"image\/png"}],"author":"Eli Holderness","twitter_card":"summary_large_image","twitter_creator":"@InfobipDev","twitter_site":"@InfobipDev","twitter_misc":{"Written by":"Eli Holderness","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.infobip.com\/developers\/blog\/one-time-passwords-why-and-how#article","isPartOf":{"@id":"https:\/\/www.infobip.com\/developers\/blog\/one-time-passwords-why-and-how"},"author":{"name":"Eli Holderness","@id":"https:\/\/www.infobip.com\/developers\/#\/schema\/person\/2d3f818bd258646bc997a3ec04146bbd"},"headline":"One-time passwords: why and how","datePublished":"2024-03-13T15:57:19+00:00","mainEntityOfPage":{"@id":"https:\/\/www.infobip.com\/developers\/blog\/one-time-passwords-why-and-how"},"wordCount":1030,"publisher":{"@id":"https:\/\/www.infobip.com\/developers\/#organization"},"image":{"@id":"https:\/\/www.infobip.com\/developers\/blog\/one-time-passwords-why-and-how#primaryimage"},"thumbnailUrl":"https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2024\/03\/OTPWAH.png","keywords":["2FA","API","MFA","SMS","WhatsApp"],"articleSection":["DevOps and Security","Engineering Practices","Infobip Products"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.infobip.com\/developers\/blog\/one-time-passwords-why-and-how","url":"https:\/\/www.infobip.com\/developers\/blog\/one-time-passwords-why-and-how","name":"One-time passwords: why and how - Infobip Developers Hub","isPartOf":{"@id":"https:\/\/www.infobip.com\/developers\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.infobip.com\/developers\/blog\/one-time-passwords-why-and-how#primaryimage"},"image":{"@id":"https:\/\/www.infobip.com\/developers\/blog\/one-time-passwords-why-and-how#primaryimage"},"thumbnailUrl":"https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2024\/03\/OTPWAH.png","datePublished":"2024-03-13T15:57:19+00:00","breadcrumb":{"@id":"https:\/\/www.infobip.com\/developers\/blog\/one-time-passwords-why-and-how#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.infobip.com\/developers\/blog\/one-time-passwords-why-and-how"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.infobip.com\/developers\/blog\/one-time-passwords-why-and-how#primaryimage","url":"https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2024\/03\/OTPWAH.png","contentUrl":"https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2024\/03\/OTPWAH.png","width":1403,"height":797,"caption":"A graphic showing a stylised computer screen and a smartphone. The computer screen shows a screen reading 'My Web App' and prompting the user for a code, and the phone shows a dialog box that says 'your code is 362907'. The title of the article (One-time passwords: why and how') is also displayed on this graphic."},{"@type":"BreadcrumbList","@id":"https:\/\/www.infobip.com\/developers\/blog\/one-time-passwords-why-and-how#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.infobip.com\/developers\/"},{"@type":"ListItem","position":2,"name":"One-time passwords: why and how"}]},{"@type":"WebSite","@id":"https:\/\/www.infobip.com\/developers\/#website","url":"https:\/\/www.infobip.com\/developers\/","name":"Infobip Developers Hub","description":"Build meaningful customer relationships across any channel","publisher":{"@id":"https:\/\/www.infobip.com\/developers\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.infobip.com\/developers\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.infobip.com\/developers\/#organization","name":"Infobip Developers Hub","url":"https:\/\/www.infobip.com\/developers\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.infobip.com\/developers\/#\/schema\/logo\/image\/","url":"https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2023\/03\/Infobip_logo_favicon.png","contentUrl":"https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2023\/03\/Infobip_logo_favicon.png","width":696,"height":696,"caption":"Infobip Developers Hub"},"image":{"@id":"https:\/\/www.infobip.com\/developers\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/infobip\/","https:\/\/x.com\/InfobipDev","https:\/\/www.youtube.com\/channel\/UCUPSTy53VecI5GIir3J3ZbQ","https:\/\/github.com\/infobip-community"]},{"@type":"Person","@id":"https:\/\/www.infobip.com\/developers\/#\/schema\/person\/2d3f818bd258646bc997a3ec04146bbd","name":"Eli Holderness","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.infobip.com\/developers\/#\/schema\/person\/image\/e3fd4a8aa6b78952d057f724bcf1dff0","url":"https:\/\/secure.gravatar.com\/avatar\/2261319993db9030e1328c712ee20e4aaedf2c9cb8e4379ae8af57f2c877d5f4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2261319993db9030e1328c712ee20e4aaedf2c9cb8e4379ae8af57f2c877d5f4?s=96&d=mm&r=g","caption":"Eli Holderness"},"description":"Developer advocate, conference speaker &amp; professional nerd. Likes maths, knitting, and cats.","url":"https:\/\/www.infobip.com\/developers\/blog\/author\/eli"}]}},"_links":{"self":[{"href":"https:\/\/www.infobip.com\/developers\/wp-json\/wp\/v2\/posts\/3152","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.infobip.com\/developers\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.infobip.com\/developers\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.infobip.com\/developers\/wp-json\/wp\/v2\/users\/53"}],"replies":[{"embeddable":true,"href":"https:\/\/www.infobip.com\/developers\/wp-json\/wp\/v2\/comments?post=3152"}],"version-history":[{"count":1,"href":"https:\/\/www.infobip.com\/developers\/wp-json\/wp\/v2\/posts\/3152\/revisions"}],"predecessor-version":[{"id":3154,"href":"https:\/\/www.infobip.com\/developers\/wp-json\/wp\/v2\/posts\/3152\/revisions\/3154"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.infobip.com\/developers\/wp-json\/wp\/v2\/media\/3153"}],"wp:attachment":[{"href":"https:\/\/www.infobip.com\/developers\/wp-json\/wp\/v2\/media?parent=3152"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.infobip.com\/developers\/wp-json\/wp\/v2\/categories?post=3152"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.infobip.com\/developers\/wp-json\/wp\/v2\/tags?post=3152"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.infobip.com\/developers\/wp-json\/wp\/v2\/coauthors?post=3152"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}