CINXE.COM
What is API design?
<!DOCTYPE html> <html lang="en" dir="ltr" prefix="og: https://ogp.me/ns#"> <head> <script>performance.mark('HEAD Start');</script> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>What is API design?</title> <link rel="preconnect" href="https://static.redhat.com"> <link rel="preconnect" href="https://consent.trustarc.com"> <script id="rhdc_js_errors_js">window.sentryOnLoad=function(){Sentry.init({dsn:"https://676ea2c2d4a147c2834066d24c04a9e4@o490301.ingest.sentry.io/5370002",ignoreErrors:[],integrations:[Sentry.browserTracingIntegration()],environment:'prod',tracesSampleRate:0.75,sampleRate:0.75});};</script> <script id="rhdc_analytics_get_top_eddl_pagedata">var pageData = {"pageCategory":"topics","pageName":"rh|topics|api|what-is-api-design","pageTitle":"What is API design?","pageType":"article","pageSubType":"","siteExperience":"","siteLanguage":"en","subsection":"api","subsection2":"what-is-api-design","subsection3":"","cms":"RH CMS 1.0","analyticsTitle":"","contentID":"824431","contentType":"","destinationURL":"https:\/\/www.redhat.com\/en\/topics\/api\/what-is-api-design","gated":"false","offerID":"","errorType":"","contentPublishDate":"2024-11-20","siteName":"rh","dataObject":"appEventData","queryParameters":{"oh":"redhat.co.nz"},"taxonomyArticleType":["107921"],"taxonomyTopic":["27001","27051","27051"],"pageStatus":"published"};</script> <script id="rhdc_analytics_get_top_eddl_js">!function(e,a){"use strict";e.appEventData=e.appEventData||[],e.pageData=e.pageData||[];var t={event:"Page Load Started",page:pageData};if(a.referrer){var r=a.createElement("a");r.href=a.referrer,t.page.previousPage=r.href}t.page.siteExperience=e.innerWidth<=768?"tablet":"desktop",appEventData.push(t)}(window,document);</script> <script id="dpal" src="https://www.redhat.com/dtm.js" async></script> <script id="trustarc" src="https://static.redhat.com/libs/redhat/marketing/latest/trustarc/trustarc.js" async></script> <script src="https://static.redhat.com/libs/redhat/marketing/latest/trustarc/trustecm/js/trustecm.js" data-domain="www.redhat.com" async></script> <script class="trustecm" data-src="https://static.redhat.com/libs/redhat/marketing/latest/trustarc/trustecm/js/trustecm-functional.js" data-tracker-type="functional"></script> <script class="trustecm" data-src="https://static.redhat.com/libs/redhat/marketing/latest/trustarc/trustecm/js/trustecm-advertising.js" data-tracker-type="advertising"></script> <script type="importmap">{"imports":{"@rhds/elements/":"/modules/contrib/red_hat_shared_libs/dist/rhds-elements/modules/"},"scopes":{}}</script> <script type="application/json" data-drupal-selector="drupal-settings-json">{"path":{"baseUrl":"\/","pathPrefix":"en\/","currentPath":"node\/824431","currentPathIsAdmin":false,"isFront":false,"currentLanguage":"en","currentQuery":{"oh":"redhat.co.nz"}},"pluralDelimiter":"\u0003","suppressDeprecationErrors":true,"ajaxPageState":{"libraries":"eJyNk81ynDAMx19oWR4iPXZ669kjbC0oayxGkpPw9hVrStmkM-2FkX_6-lsWWIxsDTgPmPoIixGXS4aVq4VEGvkNZe25YOR8EUxhAgvxjomMpXdY56LXlvAXv8E10zhZ4vkiUxhAMVTqx8wD5JdJeMYzX274YvCJ_IC371uNb881vJn3-qkoZ1oLuWKF7FkbZ0oxzFBgRJcjCIaNxUxYXPKUYr99OhCjmPFMlBJ2i4vkE02Y68dXfGO2h5Rn0B2CTq52_S-g0yi0mJ4citZlKGMXme_UxAW_TV5drPbPx4Ap5TCw2WNS_4xEEZb_CVTyqSmCxOlzuElVc8c1clEf6HWf9RUWarGv2hrtpY9j885YanPs9XVVw7nf3vPyjoNMbpZ0MsOEkHzSjUSQFLy3AZU_0HfosMJcs9G2IBR3ehNP8K0wO1JG4brs9mudl5Cp3DUU36IG3WpsP_tids5ohMcv06BMHcTItViXhJfE7789ukA8mvnEStqEt6v8AhlTXRw","theme":"rhdc","theme_token":null},"ajaxTrustedUrl":[],"rh_oidc_manager":{"debug":false,"cookie_settings":{"rh_sso_session_enabled":true},"oidc_settings":{"authority":"https:\/\/sso.redhat.com\/auth\/realms\/redhat-external","client_id":"rhcom","loadUserInfo":true,"post_logout_redirect_uri":"https:\/\/www.redhat.com\/en","redirect_uri":"https:\/\/www.redhat.com\/en","scope":"openid profile_level.rh_events id.email id.idp id.job.title id.job.department id.name id.organization id.sub id.username roles api.graphql","silent_redirect_uri":"https:\/\/www.redhat.com\/en\/silent-renew.html"}},"rhdc_analytics":{"searchTerm":null},"rhdc_bulk_tagging":{"should_skip_product_primary_product_requirement":true,"field_taxonomy_product":{"add":"If there is currently no \u003Cb\u003EPrimary Product\u003C\/b\u003E value before this operation,\n a \u003Cb\u003EProduct\u003C\/b\u003E value will be chosen as the \u003Cb\u003EPrimary Product\u003C\/b\u003E.","remove":"\u003Cul\u003E\n \u003Cli\u003EIf removing all existing \u003Cb\u003EProduct\u003C\/b\u003E value(s), the \u003Cb\u003EPrimary Product\u003C\/b\u003E will also be removed.\u003C\/li\u003E\n \u003Cli\u003EIf not, please choose a new valid \u003Cb\u003EPrimary Product\u003C\/b\u003E in a previous operation\n before removing the \u003Cb\u003EProduct\u003C\/b\u003E.\u003C\/li\u003E\n \u003C\/ul\u003E","replace":"If the \u003Cb\u003EProduct\u003C\/b\u003E that is being replaced is the \u003Cb\u003EPrimary Product\u003C\/b\u003E,\n please change the \u003Cb\u003EPrimary Product\u003C\/b\u003E in a previous operation."},"field_taxonomy_product_primary":{"add":"The \u003Cb\u003EPrimary Product\u003C\/b\u003E that is being added must be a value of an existing \u003Cb\u003EProduct\u003C\/b\u003E value.\n If the \u003Cb\u003EPrimary Product\u003C\/b\u003E value to add is not, please add that \u003Cb\u003EProduct\u003C\/b\u003E in a previous operation.","remove":"You cannot remove the \u003Cb\u003EPrimary Product\u003C\/b\u003E. This operation will be skipped.","replace":"If the new \u003Cb\u003EPrimary Product\u003C\/b\u003E value is not an existing \u003Cb\u003EProduct\u003C\/b\u003E value,\n please add that \u003Cb\u003EProduct\u003C\/b\u003E in a previous operation."}},"rhdcCore":{"webrh":{"version":"1.210.0"}},"rhdc_style":{"flag_myrh_popover":1},"rhdc_solr_listing":{"testmode":false},"csp":{"nonce":"KJlmSx_UHWf_a2TvGZs8_w"},"user":{"uid":0,"permissionsHash":"4737a889089cbdcce048bf0dfd5713f83cd2c1f0062562282543460f381f5099"}}</script> <script src="/rhdc/system-files/js/js_p_41KBG7cZeoagzhXHpTZcq3c8gYqlPB_saMZ-b0siY.js?scope=header&delta=0&language=en&theme=rhdc&include=eJyNUUFywzAI_JAVPyL33nrWIIlIxLJwEU4mv68UezJup532BruwLCApeAsF8kPJ11G-pBZDyNaxKs-DJMvU2LnREWX0gqC4YT4TFh3kb7FKraciiE__KUcRlj7aQUW70hgzO8jnJDzjcEcnaVwuaArcKIISl59UT_Ok8XStT-6JmIpqMpRoPPNEeGAuzIqya7uPPYBMsVjMOPdFN0w5xozfwO7mus6LyVSmegDbjRbHIOGAtRMGpbaJYLAJ1NYEPczkunPjFX6jFOLxLmuhG0qF_Aa3fUArAu95LWqC8BL4Xo4dTazJvleU7WRth3X7wes9r9rm9dytdPZat6_sD3uln-w_40E"></script> <script src="/modules/contrib/rh_oidc_manager/libraries/dist/js/index.min.js?soejlb" type="module"></script> <script src="https://static.redhat.com/libs/@redhat/marketing/latest/rh.mktg.js" async></script> <link rel="stylesheet" media="all" href="/rhdc/system-files/css/css_B0WH89av8krZdbwDrsrkAOtwxxHv1Urz3b37E0L9UN8.css?delta=0&language=en&theme=rhdc&include=eJxtUVuOgzAMvBCPQ3Q_V3uFyCQupE3iyHHYcvs1C0Wo4ieyZjzjccyTGaCgqb4fAw0QbhNTxOYXB576fMc2wexHEE-p4cnZfn3arfcE3IkEua3Jz8jlgvoHDCQIi3hbeuFaBNh2llLBJF1UbkTuIPt9uhV4V8DuVJoJwanlhgyQPhAVmliD-HU3b3d0ZKp5r0sGu2faQjoM9YVt1uXpBKvcHSjqGBBjn-i8EK9juuDHSRzFt69omMuEe_moMZvg07MY_dgdvDMlMRFEDomSW9s5DOvPBbwIQqHGVLoAC1VRxXFTPeAPzN9ryC8NeWKOSynfWGLsHdcMoYMHvJrNyThfLGnb0lNCnfJhfRP4A4Oe3WI" /> <link rel="stylesheet" media="print" href="https://static.redhat.com/libs/redhat/marketing/latest/trustarc/trustecm/css/trustecm.css" data-onload-media="all" onload="this.onload=null;this.media=this.dataset.onloadMedia" /> <link rel="stylesheet" media="all" href="/rhdc/system-files/css/css_P07MB_fCU0nLmZf5Vu1aWSYb5IgQK303zgvOO7WIzgo.css?delta=2&language=en&theme=rhdc&include=eJxtUVuOgzAMvBCPQ3Q_V3uFyCQupE3iyHHYcvs1C0Wo4ieyZjzjccyTGaCgqb4fAw0QbhNTxOYXB576fMc2wexHEE-p4cnZfn3arfcE3IkEua3Jz8jlgvoHDCQIi3hbeuFaBNh2llLBJF1UbkTuIPt9uhV4V8DuVJoJwanlhgyQPhAVmliD-HU3b3d0ZKp5r0sGu2faQjoM9YVt1uXpBKvcHSjqGBBjn-i8EK9juuDHSRzFt69omMuEe_moMZvg07MY_dgdvDMlMRFEDomSW9s5DOvPBbwIQqHGVLoAC1VRxXFTPeAPzN9ryC8NeWKOSynfWGLsHdcMoYMHvJrNyThfLGnb0lNCnfJhfRP4A4Oe3WI" /> <link rel="stylesheet" media="all" href="/rhdc/system-files/css/css_yVqveM8UUhx_ckZf4PJ0IIBmTYI8CvPL9RxTC81XnT8.css?delta=3&language=en&theme=rhdc&include=eJxtUVuOgzAMvBCPQ3Q_V3uFyCQupE3iyHHYcvs1C0Wo4ieyZjzjccyTGaCgqb4fAw0QbhNTxOYXB576fMc2wexHEE-p4cnZfn3arfcE3IkEua3Jz8jlgvoHDCQIi3hbeuFaBNh2llLBJF1UbkTuIPt9uhV4V8DuVJoJwanlhgyQPhAVmliD-HU3b3d0ZKp5r0sGu2faQjoM9YVt1uXpBKvcHSjqGBBjn-i8EK9juuDHSRzFt69omMuEe_moMZvg07MY_dgdvDMlMRFEDomSW9s5DOvPBbwIQqHGVLoAC1VRxXFTPeAPzN9ryC8NeWKOSynfWGLsHdcMoYMHvJrNyThfLGnb0lNCnfJhfRP4A4Oe3WI" /> <link rel="stylesheet" media="all" href="/rhdc/system-files/css/css_W_Zl1c6YOcUF8H3pWx2p2LQvZVGJ614xMaPqTGQquhI.css?delta=4&language=en&theme=rhdc&include=eJxtUVuOgzAMvBCPQ3Q_V3uFyCQupE3iyHHYcvs1C0Wo4ieyZjzjccyTGaCgqb4fAw0QbhNTxOYXB576fMc2wexHEE-p4cnZfn3arfcE3IkEua3Jz8jlgvoHDCQIi3hbeuFaBNh2llLBJF1UbkTuIPt9uhV4V8DuVJoJwanlhgyQPhAVmliD-HU3b3d0ZKp5r0sGu2faQjoM9YVt1uXpBKvcHSjqGBBjn-i8EK9juuDHSRzFt69omMuEe_moMZvg07MY_dgdvDMlMRFEDomSW9s5DOvPBbwIQqHGVLoAC1VRxXFTPeAPzN9ryC8NeWKOSynfWGLsHdcMoYMHvJrNyThfLGnb0lNCnfJhfRP4A4Oe3WI" /> <link rel="preload" href="/themes/custom/rh_base_ui/src/fonts/red_hat_text/RedHatTextVFModified.woff2" as="font" type="font/woff2" crossorigin> <link rel="preload" href="/themes/custom/rh_base_ui/src/fonts/red_hat_display/RedHatDisplayVFModified.woff2" as="font" type="font/woff2" crossorigin> <script type="speculationrules">{"prerender": [{"urls": ["/en"]}]}</script> <meta name="description" content="API design refers to the process of developing an API that exposes data and application functionality for use by developers and users." /> <link rel="canonical" href="https://www.redhat.com/en/topics/api/what-is-api-design" /> <link rel="image_src" href="https://www.redhat.com/profiles/rh/themes/redhatdotcom/img/logo-rh-og-image.png" /> <meta property="og:type" content="website" /> <meta property="og:url" content="https://www.redhat.com/en/topics/api/what-is-api-design" /> <meta property="og:title" content="What is API design?" /> <meta property="og:description" content="API design refers to the process of developing an API that exposes data and application functionality for use by developers and users." /> <meta property="og:image" content="https://www.redhat.com/profiles/rh/themes/redhatdotcom/img/logo-rh-og-image.png" /> <meta name="twitter:card" content="summary" /> <meta name="twitter:description" content="API design refers to the process of developing an API that exposes data and application functionality for use by developers and users." /> <meta name="twitter:title" content="What is API design?" /> <meta name="twitter:url" content="https://www.redhat.com/en/topics/api/what-is-api-design" /> <meta name="twitter:image" content="https://www.redhat.com/profiles/rh/themes/redhatdotcom/img/logo-rh-og-image.png" /> <meta name="Generator" content="Drupal 10 (https://www.drupal.org)" /> <meta name="MobileOptimized" content="width" /> <meta name="HandheldFriendly" content="true" /> <!-- Required styles from dx-utilities. See red_hat_shared_libs_preprocess_html. --> <style>.dx-gap-y,.dx-row{row-gap:32px !important;}.dx-bg-gray-10{background-color:#f2f2f2 !important;}.hover\:dx-bg-gray-10:hover{background-color:#f2f2f2 !important;}.dx-row+.dx-row{padding-top:32px;}.dx-row{--bs-gutter-x:32px !important;--bs-gutter-y:0 !important;display:flex !important;flex-wrap:wrap !important;margin-top:calc(var(--bs-gutter-y) * -1) !important;margin-right:calc(var(--bs-gutter-x) / -2) !important;margin-left:calc(var(--bs-gutter-x) / -2) !important;}.dx-col-12{flex:0 0 auto !important;width:100% !important;}.dx-flex-col{flex-direction:column !important;}.dx-row>*{box-sizing:border-box;padding-right:calc(var(--bs-gutter-x) / 2);padding-left:calc(var(--bs-gutter-x) / 2);}.dx-band{padding:64px 0;}.dx-container,.dx-container-fluid{padding-right:16px;padding-left:16px;}.dx-container{margin-right:auto;margin-left:auto;}.dx-relative{position:relative !important;}.dx-flex{display:flex !important;}.dx-w-full{width:100% !important;}.dx-mb-2{margin-bottom:16px !important;}.dx-mb-3{margin-bottom:24px !important;}.dx-mb-4{margin-bottom:32px !important;}.dx-mb-6{margin-bottom:48px !important;}.dx-mt-2{margin-top:16px !important;}.dx-mt-4{margin-top:32px !important;}.dx-mt-6{margin-top:48px !important;}.dx-pb-0{padding-bottom:0 !important;}.dx-pt-0{padding-top:0 !important;}.dx-pt-6{padding-top:48px !important;}@media (min-width:576px){.sm\:dx-gap-y,.sm\:dx-row{row-gap:32px !important;}.sm\:dx-bg-gray-10{background-color:#f2f2f2 !important;}.sm\:dx-row+.sm\:dx-row{padding-top:32px;}.sm\:dx-row{--bs-gutter-x:32px !important;--bs-gutter-y:0 !important;display:flex !important;flex-wrap:wrap !important;margin-top:calc(var(--bs-gutter-y) * -1) !important;margin-right:calc(var(--bs-gutter-x) / -2) !important;margin-left:calc(var(--bs-gutter-x) / -2) !important;}.sm\:dx-col-12{flex:0 0 auto !important;width:100% !important;}.sm\:dx-flex-col{flex-direction:column !important;}.sm\:dx-relative{position:relative !important;}.sm\:dx-flex{display:flex !important;}.sm\:dx-w-full{width:100% !important;}.sm\:dx-mb-2{margin-bottom:16px !important;}.sm\:dx-mb-3{margin-bottom:24px !important;}.sm\:dx-mb-4{margin-bottom:32px !important;}.sm\:dx-mb-6{margin-bottom:48px !important;}.sm\:dx-mt-2{margin-top:16px !important;}.sm\:dx-mt-4{margin-top:32px !important;}.sm\:dx-mt-6{margin-top:48px !important;}.sm\:dx-pb-0{padding-bottom:0 !important;}.sm\:dx-pt-0{padding-top:0 !important;}.sm\:dx-pt-6{padding-top:48px !important;}}@media (min-width:768px){.md\:dx-gap-y,.md\:dx-row{row-gap:32px !important;}.md\:dx-bg-gray-10{background-color:#f2f2f2 !important;}.md\:dx-row+.md\:dx-row{padding-top:32px;}.md\:dx-row{--bs-gutter-x:32px !important;--bs-gutter-y:0 !important;display:flex !important;flex-wrap:wrap !important;margin-top:calc(var(--bs-gutter-y) * -1) !important;margin-right:calc(var(--bs-gutter-x) / -2) !important;margin-left:calc(var(--bs-gutter-x) / -2) !important;}.md\:dx-col-4{flex:0 0 auto !important;width:33.333333333333% !important;}.md\:dx-col-6{flex:0 0 auto !important;width:50% !important;}.md\:dx-col-12{flex:0 0 auto !important;width:100% !important;}.md\:dx-flex-col{flex-direction:column !important;}.dx-container{max-width:750px;}.md\:dx-relative{position:relative !important;}.md\:dx-flex{display:flex !important;}.md\:dx-w-full{width:100% !important;}.md\:dx-mb-2{margin-bottom:16px !important;}.md\:dx-mb-3{margin-bottom:24px !important;}.md\:dx-mb-4{margin-bottom:32px !important;}.md\:dx-mb-6{margin-bottom:48px !important;}.md\:dx-mt-2{margin-top:16px !important;}.md\:dx-mt-4{margin-top:32px !important;}.md\:dx-mt-6{margin-top:48px !important;}.md\:dx-pb-0{padding-bottom:0 !important;}.md\:dx-pt-0{padding-top:0 !important;}.md\:dx-pt-6{padding-top:48px !important;}}@media (min-width:992px){.lg\:dx-gap-y,.lg\:dx-row{row-gap:32px !important;}.lg\:dx-bg-gray-10{background-color:#f2f2f2 !important;}.lg\:dx-row+.lg\:dx-row{padding-top:32px;}.lg\:dx-row{--bs-gutter-x:32px !important;--bs-gutter-y:0 !important;display:flex !important;flex-wrap:wrap !important;margin-top:calc(var(--bs-gutter-y) * -1) !important;margin-right:calc(var(--bs-gutter-x) / -2) !important;margin-left:calc(var(--bs-gutter-x) / -2) !important;}.lg\:dx-col-1{flex:0 0 auto !important;width:8.3333333333333% !important;}.lg\:dx-col-2{flex:0 0 auto !important;width:16.666666666667% !important;}.lg\:dx-col-3{flex:0 0 auto !important;width:25% !important;}.lg\:dx-col-6{flex:0 0 auto !important;width:50% !important;}.lg\:dx-col-10{flex:0 0 auto !important;width:83.333333333333% !important;}.lg\:dx-col-11{flex:0 0 auto !important;width:91.666666666667% !important;}.lg\:dx-col-12{flex:0 0 auto !important;width:100% !important;}.lg\:dx-flex-row{flex-direction:row !important;}.lg\:dx-flex-col{flex-direction:column !important;}.lg\:dx-justify-between{justify-content:space-between !important;}.dx-container{max-width:970px;}.lg\:dx-relative{position:relative !important;}.lg\:dx-flex{display:flex !important;}.lg\:dx-w-full{width:100% !important;}.lg\:dx-mb-0{margin-bottom:0 !important;}.lg\:dx-mb-2{margin-bottom:16px !important;}.lg\:dx-mb-3{margin-bottom:24px !important;}.lg\:dx-mb-4{margin-bottom:32px !important;}.lg\:dx-mb-6{margin-bottom:48px !important;}.lg\:dx-mb-8{margin-bottom:64px !important;}.lg\:dx-mt-0{margin-top:0 !important;}.lg\:dx-mt-2{margin-top:16px !important;}.lg\:dx-mt-4{margin-top:32px !important;}.lg\:dx-mt-6{margin-top:48px !important;}.lg\:dx-pb-0{padding-bottom:0 !important;}.lg\:dx-pt-0{padding-top:0 !important;}.lg\:dx-pt-6{padding-top:48px !important;}}@media (min-width:1200px){.xl\:dx-gap-y,.xl\:dx-row{row-gap:32px !important;}.xl\:dx-bg-gray-10{background-color:#f2f2f2 !important;}.xl\:dx-row+.xl\:dx-row{padding-top:32px;}.xl\:dx-row{--bs-gutter-x:32px !important;--bs-gutter-y:0 !important;display:flex !important;flex-wrap:wrap !important;margin-top:calc(var(--bs-gutter-y) * -1) !important;margin-right:calc(var(--bs-gutter-x) / -2) !important;margin-left:calc(var(--bs-gutter-x) / -2) !important;}.xl\:dx-col-6{flex:0 0 auto !important;width:50% !important;}.xl\:dx-col-12{flex:0 0 auto !important;width:100% !important;}.xl\:dx-flex-col{flex-direction:column !important;}.xl\:dx-gap-3{gap:24px !important;}.dx-container{max-width:1170px;}.xl\:dx-relative{position:relative !important;}.xl\:dx-flex{display:flex !important;}.xl\:dx-w-full{width:100% !important;}.xl\:dx-mb-2{margin-bottom:16px !important;}.xl\:dx-mb-3{margin-bottom:24px !important;}.xl\:dx-mb-4{margin-bottom:32px !important;}.xl\:dx-mb-6{margin-bottom:48px !important;}.xl\:dx-mt-2{margin-top:16px !important;}.xl\:dx-mt-4{margin-top:32px !important;}.xl\:dx-mt-6{margin-top:48px !important;}.xl\:dx-pb-0{padding-bottom:0 !important;}.xl\:dx-pt-0{padding-top:0 !important;}.xl\:dx-pt-6{padding-top:48px !important;}}@media (min-width:1440px){.\32xl\:dx-gap-y,.\32xl\:dx-row{row-gap:32px !important;}.\32xl\:dx-bg-gray-10{background-color:#f2f2f2 !important;}.\32xl\:dx-row+.\32xl\:dx-row{padding-top:32px;}.\32xl\:dx-row{--bs-gutter-x:32px !important;--bs-gutter-y:0 !important;display:flex !important;flex-wrap:wrap !important;margin-top:calc(var(--bs-gutter-y) * -1) !important;margin-right:calc(var(--bs-gutter-x) / -2) !important;margin-left:calc(var(--bs-gutter-x) / -2) !important;}.\32xl\:dx-col-6{flex:0 0 auto !important;width:50% !important;}.\32xl\:dx-col-12{flex:0 0 auto !important;width:100% !important;}.\32xl\:dx-flex-col{flex-direction:column !important;}.\32xl\:dx-gap-3{gap:24px !important;}.\32xl\:dx-relative{position:relative !important;}.\32xl\:dx-flex{display:flex !important;}.\32xl\:dx-w-full{width:100% !important;}.\32xl\:dx-mb-2{margin-bottom:16px !important;}.\32xl\:dx-mb-3{margin-bottom:24px !important;}.\32xl\:dx-mb-4{margin-bottom:32px !important;}.\32xl\:dx-mb-6{margin-bottom:48px !important;}.\32xl\:dx-mt-2{margin-top:16px !important;}.\32xl\:dx-mt-4{margin-top:32px !important;}.\32xl\:dx-mt-6{margin-top:48px !important;}.\32xl\:dx-pb-0{padding-bottom:0 !important;}.\32xl\:dx-pt-0{padding-top:0 !important;}.\32xl\:dx-pt-6{padding-top:48px !important;}}</style> <!-- End of dx-utilities styles. --><meta name="taxonomy-primary-topic" content="Integration" /> <meta name="taxonomy-primary-topic-tid" content="27051" /> <meta http-equiv="content-language" content="en" /> <meta name="last-publish-date" content="Wed, 04 Dec 2024 18:41:55 GMT" /> <meta name="node-type" content="article" /> <meta name="source" content="rhdc_drupal" /> <meta name="rhdc_key" content="7adfd848cab2af55d319707a8f91fdcd" /> <meta name="taxonomy-article-type" content="Article - What is" /> <meta name="taxonomy-article-type-tid" content="107921" /> <meta name="taxonomy-topic" content="APIs" /> <meta name="taxonomy-topic-tid" content="27001" /> <meta name="taxonomy-topic" content="Integration" /> <meta name="taxonomy-topic-tid" content="27051" /> <meta name="dateline" content="2019-01-08T00:00:00.00Z" /> <meta name="source_title" content="What is API design?" /> <link rel="icon" href="/favicon.ico" type="image/x-icon" /> <link rel="alternate" hreflang="zh" href="https://www.redhat.com/zh/topics/api/what-is-api-design" /> <link rel="alternate" hreflang="en" href="https://www.redhat.com/en/topics/api/what-is-api-design" /> <link rel="alternate" hreflang="fr" href="https://www.redhat.com/fr/topics/api/what-is-api-design" /> <link rel="alternate" hreflang="de" href="https://www.redhat.com/de/topics/api/what-is-api-design" /> <link rel="alternate" hreflang="it" href="https://www.redhat.com/it/topics/api/what-is-api-design" /> <link rel="alternate" hreflang="ja" href="https://www.redhat.com/ja/topics/api/what-is-api-design" /> <link rel="alternate" hreflang="ko" href="https://www.redhat.com/ko/topics/api/what-is-api-design" /> <link rel="alternate" hreflang="pt-br" href="https://www.redhat.com/pt-br/topics/api/what-is-api-design" /> <link rel="alternate" hreflang="es" href="https://www.redhat.com/es/topics/api/what-is-api-design" /> <script>performance.mark('HEAD End'); performance.measure('HEAD Time', 'HEAD Start', 'HEAD End');</script> </head> <body class="path-node rhdc-node-type-article article-node-824431" > <!-- Skip navigation. --><a href="#rhb-main-content" class="visually-hidden skip-link">Skip to content</a><nav id="universal-nav" class="unav" aria-labelledby="unav-label" data-analytics-region="universal-navigation"><h2 id="unav-label" class="unav__visually-hidden">Featured links</h2><div class="unav__wrapper"><ul class="unav__menu"><li><a href="https://access.redhat.com/" class="unav__link" data-analytics-text="Support" data-analytics-category="Featured Links" >Support</a></li><li><a href="https://docs.redhat.com/en" class="unav__link" data-analytics-text="Documentation" data-analytics-category="Featured Links" >Documentation</a></li><li><a href="https://cloud.redhat.com/" class="unav__link" data-analytics-text="Console" data-analytics-category="Featured Links" >Console</a></li><li><a href="https://developers.redhat.com/" class="unav__link" data-analytics-text="Developers" data-analytics-category="Featured Links" >Developers</a></li><li><a href="/en/products/trials" class="unav__link" data-analytics-text="Start a trial" data-analytics-category="Featured Links" >Start a trial</a></li><li><button class="unav__link" data-analytics-text="All Red Hat" data-analytics-category="Featured Links" aria-expanded="false" data-analytics-linktype="tab" > All Red Hat<svg class="unav__arrow" xmlns="http://www.w3.org/2000/svg" width="1024" height="1024" viewBox="0 0 1024 1024" aria-hidden="true"><path d="M810.642 511.557c0 8.905-3.447 16.776-10.284 23.613L322.31 1013.216c-6.835 6.837-14.706 10.284-23.61 10.284s-16.776-3.447-23.613-10.284l-51.303-51.303c-6.837-6.837-10.284-14.707-10.284-23.612s3.447-16.775 10.284-23.61L626.972 511.5 223.784 108.31c-6.837-6.835-10.284-14.706-10.284-23.61s3.447-16.776 10.284-23.613l51.303-51.303C281.924 2.947 289.794-.5 298.7-.5s16.775 3.447 23.61 10.284L800.36 487.83c6.837 6.837 10.284 14.708 10.284 23.613v.114"/></svg></button><div class="unav__drop-down"><ul><li><span >For customers</span><ul><li><a href="https://access.redhat.com/" data-analytics-category="All Red Hat|For customers" data-analytics-text="Customer support" >Customer support</a></li><li><a href="https://access.redhat.com/management" data-analytics-category="All Red Hat|For customers" data-analytics-text="Subscription management" >Subscription management</a></li><li><a href="https://access.redhat.com/support/cases" data-analytics-category="All Red Hat|For customers" data-analytics-text="Support cases" >Support cases</a></li><li><a href="https://catalog.redhat.com/" data-analytics-category="All Red Hat|For customers" data-analytics-text="Red Hat Ecosystem Catalog" >Red Hat Ecosystem Catalog</a></li><li><a href="https://catalog.redhat.com/partners" data-analytics-category="All Red Hat|For customers" data-analytics-text="Find a partner" >Find a partner</a></li></ul></li><li><span >For partners</span><ul><li><a href="https://connect.redhat.com/partner-admin/dashboard" data-analytics-category="All Red Hat|For partners" data-analytics-text="Partner portal" >Partner portal</a></li><li><a href="https://connect.redhat.com/en/support" data-analytics-category="All Red Hat|For partners" data-analytics-text="Partner support" >Partner support</a></li><li><a href="https://connect.redhat.com/" data-analytics-category="All Red Hat|For partners" data-analytics-text="Become a partner " >Become a partner </a></li></ul></li><li><span >Try, buy, & sell</span><ul><li><a href="https://marketplace.redhat.com/en-us" data-analytics-category="All Red Hat|Try, buy, & sell" data-analytics-text="Red Hat Marketplace" >Red Hat Marketplace</a></li><li><a href="https://www.redhat.com/en/store" data-analytics-category="All Red Hat|Try, buy, & sell" data-analytics-text="Red Hat Store" >Red Hat Store</a></li><li><a href="/en/contact" data-analytics-category="All Red Hat|Try, buy, & sell" data-analytics-text="Contact sales" >Contact sales</a></li><li><a href="/en/products/trials" data-analytics-category="All Red Hat|Try, buy, & sell" data-analytics-text="Start a trial" >Start a trial</a></li></ul></li><li><span >Learning resources</span><ul><li><a href="https://docs.redhat.com/en" data-analytics-category="All Red Hat|Learning resources" data-analytics-text="Documentation" >Documentation</a></li><li><a href="/en/services/training-and-certification" data-analytics-category="All Red Hat|Learning resources" data-analytics-text="Training and certification " >Training and certification </a></li><li><a href="https://cloud.redhat.com/learn" data-analytics-category="All Red Hat|Learning resources" data-analytics-text="Hybrid cloud learning hub" >Hybrid cloud learning hub</a></li><li><a href="/en/interactive-labs" data-analytics-category="All Red Hat|Learning resources" data-analytics-text="Interactive labs" >Interactive labs</a></li><li><a href="https://learn.redhat.com/" data-analytics-category="All Red Hat|Learning resources" data-analytics-text="Learning community" >Learning community</a></li><li><a href="https://tv.redhat.com" data-analytics-category="All Red Hat|Learning resources" data-analytics-text="Red Hat TV" >Red Hat TV</a></li></ul></li><li><span >Open source communities</span><ul><li><a href="https://access.redhat.com/accelerators" data-analytics-category="All Red Hat|Open source communities" data-analytics-text="Global advocacy" >Global advocacy</a></li><li><a href="/en/about/our-community-contributions" data-analytics-category="All Red Hat|Open source communities" data-analytics-text="How we contribute" >How we contribute</a></li></ul></li></ul></div></li></ul></div></nav><pfe-navigation search-button-translation="Search" pfe-full-width pfe-sticky pfe-close-on-click="external" mobile-menu-translation=Menu id="pfe-navigation" data-analytics-region="mega menu" lang="en"><nav class="pfe-navigation" aria-label="Main Navigation" data-analytics-region="main nav"><div class="pfe-navigation__logo-wrapper" id="pfe-navigation__logo-wrapper"><a href="/en" class="pfe-navigation__logo-link"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 613 145" class="redhat-logo" style="margin:0; width: 135px; display:block" height="32" width="135" role="img"><title>Red Hat</title><path d="M127.47 83.49c12.51 0 30.61-2.58 30.61-17.46a14 14 0 0 0-.31-3.42l-7.45-32.36c-1.72-7.12-3.23-10.35-15.73-16.6C124.89 8.69 103.76.5 97.51.5 91.69.5 90 8 83.06 8c-6.68 0-11.64-5.6-17.89-5.6-6 0-9.91 4.09-12.93 12.5 0 0-8.41 23.72-9.49 27.16a6.43 6.43 0 0 0-.22 1.94c0 9.22 36.3 39.45 84.94 39.45M160 72.07c1.73 8.19 1.73 9.05 1.73 10.13 0 14-15.74 21.77-36.43 21.77-46.76.03-87.72-27.37-87.72-45.48a18.45 18.45 0 0 1 1.51-7.33C22.27 52 .5 55 .5 74.22c0 31.48 74.59 70.28 133.65 70.28 45.28 0 56.7-20.48 56.7-36.65 0-12.72-11-27.16-30.83-35.78" fill="#e00"/><path d="M160 72.07c1.73 8.19 1.73 9.05 1.73 10.13 0 14-15.74 21.77-36.43 21.77-46.76.03-87.72-27.37-87.72-45.48a18.45 18.45 0 0 1 1.51-7.33l3.66-9.06a6.43 6.43 0 0 0-.22 1.9c0 9.22 36.3 39.45 84.94 39.45 12.51 0 30.61-2.58 30.61-17.46a14 14 0 0 0-.31-3.42Z"/><path d="M579.74 92.8c0 11.89 7.15 17.67 20.19 17.67a52.11 52.11 0 0 0 11.89-1.68V95a24.84 24.84 0 0 1-7.68 1.16c-5.37 0-7.36-1.68-7.36-6.73V68.3h15.56V54.1h-15.56v-18l-17 3.68V54.1h-11.29v14.2h11.25Zm-53 .32c0-3.68 3.69-5.47 9.26-5.47a43.12 43.12 0 0 1 10.1 1.26v7.15a21.51 21.51 0 0 1-10.63 2.63c-5.46 0-8.73-2.1-8.73-5.57m5.2 17.56c6 0 10.84-1.26 15.36-4.31v3.37h16.82V74.08c0-13.56-9.14-21-24.39-21-8.52 0-16.94 2-26 6.1l6.1 12.52c6.52-2.74 12-4.42 16.83-4.42 7 0 10.62 2.73 10.62 8.31v2.73a49.53 49.53 0 0 0-12.62-1.58c-14.31 0-22.93 6-22.93 16.73 0 9.78 7.78 17.24 20.19 17.24m-92.44-.94h18.09V80.92h30.29v28.82H506V36.12h-18.07v28.29h-30.29V36.12h-18.09Zm-68.86-27.9c0-8 6.31-14.1 14.62-14.1A17.22 17.22 0 0 1 397 72.09v19.45A16.36 16.36 0 0 1 385.24 96c-8.2 0-14.62-6.1-14.62-14.09m26.61 27.87h16.83V32.44l-17 3.68v20.93a28.3 28.3 0 0 0-14.2-3.68c-16.19 0-28.92 12.51-28.92 28.5a28.25 28.25 0 0 0 28.4 28.6 25.12 25.12 0 0 0 14.93-4.83ZM320 67c5.36 0 9.88 3.47 11.67 8.83h-23.2C310.15 70.3 314.36 67 320 67m-28.67 15c0 16.2 13.25 28.82 30.28 28.82 9.36 0 16.2-2.53 23.25-8.42l-11.26-10c-2.63 2.74-6.52 4.21-11.14 4.21a14.39 14.39 0 0 1-13.68-8.83h39.65v-4.23c0-17.67-11.88-30.39-28.08-30.39a28.57 28.57 0 0 0-29 28.81M262 51.58c6 0 9.36 3.78 9.36 8.31S268 68.2 262 68.2h-17.89V51.58Zm-36 58.16h18.09V82.92h13.77l13.89 26.82H292l-16.2-29.45a22.27 22.27 0 0 0 13.88-20.72c0-13.25-10.41-23.45-26-23.45H226Z" fill="#fff"/></svg></a></div><pfe-navigation-main role="navigation" aria-label="Main"><ul><li><pfe-navigation-item><div slot="trigger"><a href="https://www.redhat.com/en/technologies/all-products" data-nav-trigger-id="products" data-analytics-text="Products" tabindex="-1">Products</a></div><div slot="tray" hidden><div class="pfe-navigation-grid"><div class="pfe-navigation--column desktop-col-span-4 tablet-col-span-all"><slot name="custom-slot-products"></slot></div></div></div></pfe-navigation-item></li><li><pfe-navigation-item><div slot="trigger"><a href="https://www.redhat.com/en/solutions" data-nav-trigger-id="solutions" data-analytics-text="Solutions" tabindex="-1">Solutions</a></div><div slot="tray" hidden><div class="pfe-navigation-grid"><div class="pfe-navigation--column desktop-col-span-4 tablet-col-span-all"><slot name="custom-slot-solutions"></slot></div></div></div></pfe-navigation-item></li><li><pfe-navigation-item><div slot="trigger"><a href="https://www.redhat.com/en/services" data-nav-trigger-id="training-services" data-analytics-text="Training & services" tabindex="-1">Training & services</a></div><div slot="tray" hidden><div class="pfe-navigation-grid"><div class="pfe-navigation--column desktop-col-span-4 tablet-col-span-all"><slot name="custom-slot-training-services"></slot></div></div></div></pfe-navigation-item></li><li><pfe-navigation-item><div slot="trigger"><a href="https://www.redhat.com/en/resources" data-nav-trigger-id="resources" data-analytics-text="Resources" tabindex="-1">Resources</a></div><div slot="tray" hidden><div class="pfe-navigation-grid"><div class="pfe-navigation--column desktop-col-span-4 tablet-col-span-all"><slot name="custom-slot-resources"></slot></div></div></div></pfe-navigation-item></li><li><pfe-navigation-item><div slot="trigger"><a href="" data-nav-trigger-id="partners" data-analytics-text="Partners" tabindex="-1">Partners</a></div><div slot="tray" hidden><div class="pfe-navigation-grid"><div class="pfe-navigation--column desktop-col-span-4 tablet-col-span-all"><slot name="custom-slot-partners"></slot></div></div></div></pfe-navigation-item></li><li><pfe-navigation-item><div slot="trigger"><a href="https://www.redhat.com/en/about" data-nav-trigger-id="about" data-analytics-text="About" tabindex="-1">About</a></div><div slot="tray" hidden><div class="pfe-navigation-grid"><div class="pfe-navigation--column desktop-col-span-4 tablet-col-span-all"><slot name="custom-slot-about"></slot></div></div></div></pfe-navigation-item></li><li class="universal-nav-link hidden-at-desktop hidden-at-tablet" data-analytics-region="universal-navigation"><pfe-navigation-item><div slot="trigger"><a href="#" data-analytics-text="Explore more" >Explore more</a></div><div slot="tray"><div class="pfe-navigation-item__tray--container"><div class="pfe-navigation-grid"><slot name="custom-slot-explore-more"></slot></div></div></div></pfe-navigation-item></li></ul></pfe-navigation-main></nav><!-- Custom nav slot --><div slot="custom-slot-products" class="custom-nav-slot"><div class="pfe-navigation-grid"><div class="pfe-navigation--column"><div class="pfe-link-list"><div class="pfe-link-list--header nolink"><h3 data-analytics-category="Products" data-analytics-text="Platform products" class="link-header nolink">Platform products</h3></div><ul class="pfe-link-list--group"><li class="pfe-link-list--group-item"><a class="custom-nav-overview-link" data-analytics-category="Products|Platform products" data-analytics-text="Red Hat Enterprise Linux" href="/en/technologies/linux-platforms/enterprise-linux" ><span class="custom-nav-overview-title">Red Hat Enterprise Linux</span><span class="custom-nav-overview-body">A flexible, stable operating system to support hybrid cloud innovation. </span></a></li><li class="pfe-link-list--group-item"><a class="custom-nav-overview-link" data-analytics-category="Products|Platform products" data-analytics-text="Red Hat OpenShift" href="/en/technologies/cloud-computing/openshift" ><span class="custom-nav-overview-title">Red Hat OpenShift</span><span class="custom-nav-overview-body">A container platform to build, modernize, and deploy applications at scale. </span></a></li><li class="pfe-link-list--group-item"><a class="custom-nav-overview-link" data-analytics-category="Products|Platform products" data-analytics-text="Red Hat Ansible Automation Platform" href="/en/technologies/management/ansible" ><span class="custom-nav-overview-title">Red Hat Ansible Automation Platform</span><rh-tag color="blue" variant="filled" size="compact">New version</rh-tag><span class="custom-nav-overview-body">A foundation for implementing enterprise-wide automation. </span></a></li></ul></div></div><div class="pfe-navigation--column"><div class="pfe-link-list"><div class="pfe-link-list--header "><h3 data-analytics-category="Products" data-analytics-text="Try & buy" class="link-header nolink">Try & buy</h3></div><ul class="pfe-link-list--group"><li class="pfe-link-list--group-item"><a class="custom-nav-overview-link" data-analytics-category="Products|Try & buy" data-analytics-text="Start a trial" href="/en/products/trials" ><span class="custom-nav-overview-title">Start a trial</span><span class="custom-nav-overview-body">Assess a product with a no-cost trial. </span></a></li><li class="pfe-link-list--group-item"><a class="custom-nav-overview-link" data-analytics-category="Products|Try & buy" data-analytics-text="Buy online" href="https://www.redhat.com/en/store" ><span class="custom-nav-overview-title">Buy online</span><span class="custom-nav-overview-body">Buy select products and services in the Red Hat Store. </span></a></li><li class="pfe-link-list--group-item"><a class="custom-nav-overview-link" data-analytics-category="Products|Try & buy" data-analytics-text="Integrate with major cloud providers" href="/en/partners/certified-cloud-and-service-providers" ><span class="custom-nav-overview-title">Integrate with major cloud providers</span><span class="custom-nav-overview-body">Buy Red Hat solutions using committed spend from providers, including: <img src="https://www.redhat.com/rhdc/managed-files/cloud-providers-2x.png" alt="Cloud providers: Amazon Web Services, Microsoft Azure, and Google Cloud" ></span></a></li></ul></div></div><div class="pfe-navigation--column nav-card-lg"><div class="pfe-link-list"><div class="pfe-link-list--header "><h3 data-analytics-category="Products" data-analytics-text="Featured" class="link-header nolink">Featured</h3></div><ul class="pfe-link-list--group"><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="Products|Featured" data-analytics-text="Red Hat Enterprise Linux AI" href="/en/technologies/linux-platforms/enterprise-linux/ai" > Red Hat Enterprise Linux AI </a></li><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="Products|Featured" data-analytics-text="Red Hat OpenShift AI" href="/en/technologies/cloud-computing/openshift/openshift-ai" > Red Hat OpenShift AI </a></li><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="Products|Featured" data-analytics-text="Red Hat OpenShift Virtualization" href="/en/technologies/cloud-computing/openshift/virtualization" > Red Hat OpenShift Virtualization </a></li><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="Products|Featured" data-analytics-text="Red Hat OpenShift Service on AWS" href="/en/technologies/cloud-computing/openshift/aws" > Red Hat OpenShift Service on AWS </a></li><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="Products|Featured" data-analytics-text="Microsoft Azure Red Hat OpenShift" href="/en/technologies/cloud-computing/openshift/azure" > Microsoft Azure Red Hat OpenShift </a></li></ul></div></div></div><div class="pfe-navigation--footer"><div class="pfe-navigation--column "><pfe-cta pfe-priority="primary" class="PFElement" pfelement has_link><a href="/en/technologies/all-products" data-analytics-category="Products" data-analytics-linkType="cta" data-analytics-text="See all products">See all products </a></pfe-cta></div></div></div><!-- Custom nav slot --><div slot="custom-slot-solutions" class="custom-nav-slot"><div class="pfe-navigation-grid"><div class="pfe-navigation--column"><div class="pfe-link-list"><ul class="pfe-link-list--group"><li class="pfe-link-list--group-item"><a class="custom-nav-overview-link" data-analytics-category="Solutions" data-analytics-text="Application platform" href="/en/solutions/application-platform" ><span class="custom-nav-overview-title">Application platform</span><span class="custom-nav-overview-body">Simplify the way you build, deploy, manage, and secure apps across the hybrid cloud. </span></a></li><li class="pfe-link-list--group-item"><a class="custom-nav-overview-link" data-analytics-category="Solutions" data-analytics-text="Artificial intelligence" href="/en/solutions/ai" ><span class="custom-nav-overview-title">Artificial intelligence</span><span class="custom-nav-overview-body">Build, deploy, and monitor AI models and apps with Red Hat's open source platforms. </span></a></li><li class="pfe-link-list--group-item"><a class="custom-nav-overview-link" data-analytics-category="Solutions" data-analytics-text="Edge computing" href="/en/products/edge" ><span class="custom-nav-overview-title">Edge computing</span><span class="custom-nav-overview-body">Deploy workloads closer to the source with security-focused edge technology. </span></a></li></ul></div></div><div class="pfe-navigation--column"><div class="pfe-link-list"><ul class="pfe-link-list--group"><li class="pfe-link-list--group-item"><a class="custom-nav-overview-link" data-analytics-category="Solutions" data-analytics-text="IT automation" href="/en/solutions/it-automation" ><span class="custom-nav-overview-title">IT automation</span><span class="custom-nav-overview-body">Unite disparate tech, teams, and environments with 1 comprehensive automation platform. </span></a></li><li class="pfe-link-list--group-item"><a class="custom-nav-overview-link" data-analytics-category="Solutions" data-analytics-text="Linux standardization" href="/en/solutions/linux-standardization" ><span class="custom-nav-overview-title">Linux standardization</span><span class="custom-nav-overview-body">Get consistency across operating environments with an open, flexible infrastructure. </span></a></li></ul></div></div><div class="pfe-navigation--column"><div class="pfe-link-list"><ul class="pfe-link-list--group"><li class="pfe-link-list--group-item"><a class="custom-nav-overview-link" data-analytics-category="Solutions" data-analytics-text="Security" href="/en/solutions/trusted-software-supply-chain" ><span class="custom-nav-overview-title">Security</span><span class="custom-nav-overview-body">Deliver software using trusted platforms and real-time security scanning and remediation. </span></a></li><li class="pfe-link-list--group-item"><a class="custom-nav-overview-link" data-analytics-category="Solutions" data-analytics-text="Virtualization" href="/en/solutions/virtualization" ><span class="custom-nav-overview-title">Virtualization</span><span class="custom-nav-overview-body">Modernize operations using a single platform for virtualized and containerized workloads. </span></a></li></ul></div></div><div class="pfe-navigation--column nav-card"><div class="pfe-link-list"><div class="pfe-link-list--header nolink"><h3 data-analytics-category="Solutions" data-analytics-text="By industry" class="link-header nolink">By industry</h3></div><ul class="pfe-link-list--group"><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="Solutions|By industry" data-analytics-text="Automotive" href="/en/solutions/automotive" > Automotive </a></li><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="Solutions|By industry" data-analytics-text="Financial services" href="/en/solutions/financial-services" > Financial services </a></li><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="Solutions|By industry" data-analytics-text="Healthcare" href="/en/solutions/healthcare" > Healthcare </a></li><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="Solutions|By industry" data-analytics-text="Industrial sector" href="/en/solutions/industrial-sector" > Industrial sector </a></li><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="Solutions|By industry" data-analytics-text="Media and entertainment" href="/en/solutions/media-entertainment" > Media and entertainment </a></li><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="Solutions|By industry" data-analytics-text="Public sector" href="/en/solutions/public-sector" > Public sector </a></li><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="Solutions|By industry" data-analytics-text="Telecommunications" href="/en/solutions/telecommunications" > Telecommunications </a></li></ul></div></div></div><div class="pfe-navigation--footer"><div class="pfe-navigation--column pfe-navigation--column-span-2"><pfe-cta pfe-priority="primary" class="PFElement" pfelement has_link><a href="/en/solutions" data-analytics-category="Solutions" data-analytics-linkType="cta" data-analytics-text="Explore solutions">Explore solutions </a></pfe-cta></div></div></div><!-- Custom nav slot --><div slot="custom-slot-training-services" class="custom-nav-slot"><div class="pfe-navigation-grid"><div class="pfe-navigation--column"><div class="pfe-link-list"><div class="pfe-link-list--header "><h3><a href="/en/services" class="link-header" data-analytics-category="Training & services" data-analytics-text="Services" > Services </a></h3></div><ul class="pfe-link-list--group"><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="Training & services|Services" data-analytics-text="Consulting" href="/en/services/consulting" > Consulting </a></li><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="Training & services|Services" data-analytics-text="Services for AI" href="/en/services/consulting/red-hat-consulting-for-ai" > Services for AI </a></li><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="Training & services|Services" data-analytics-text="Technical Account Management" href="/en/services/support/technical-account-management" > Technical Account Management </a></li></ul></div></div><div class="pfe-navigation--column"><div class="pfe-link-list"><div class="pfe-link-list--header zh-tw"><h3><a href="/en/services/training-and-certification" class="link-header" data-analytics-category="Training & services" data-analytics-text="Training & certification" > Training & certification </a></h3></div><ul class="pfe-link-list--group"><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="Training & services|Training & certification" data-analytics-text="All courses and exams" href="/en/services/training/all-courses-exams" > All courses and exams </a></li><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="Training & services|Training & certification" data-analytics-text="All certifications" href="/en/services/certifications" > All certifications </a></li><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="Training & services|Training & certification" data-analytics-text="Verify a certification" href="https://www.redhat.com/rhtapps/services/verify/" > Verify a certification </a></li><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="Training & services|Training & certification" data-analytics-text="Skills assessment" href="https://skills.ole.redhat.com" > Skills assessment </a></li><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="Training & services|Training & certification" data-analytics-text="Learning subscription" href="/en/services/training/learning-subscription" > Learning subscription </a></li><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="Training & services|Training & certification" data-analytics-text="Learning community" href="https://learn.redhat.com/" > Learning community </a></li><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="Training & services|Training & certification" data-analytics-text="Red Hat Academy" href="/en/services/training/red-hat-academy" > Red Hat Academy </a></li><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="Training & services|Training & certification" data-analytics-text="FAQs" href="/en/services/training-and-certification/faq" > FAQs </a></li><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="Training & services|Training & certification" data-analytics-text="Connect with learning experts" href="/en/services/training-and-certification/contact-us" > Connect with learning experts </a></li></ul></div></div><div class="pfe-navigation--column"><div class="pfe-link-list"><div class="pfe-link-list--header "><h3 data-analytics-category="Training & services" data-analytics-text="Featured" class="link-header nolink">Featured</h3></div><ul class="pfe-link-list--group"><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="Training & services|Featured" data-analytics-text="Ansible Basics: Automation Technical Overview (No cost)" href="/en/services/training/do007-ansible-essentials-simplicity-automation-technical-overview" > Ansible Basics: Automation Technical Overview (No cost) </a></li><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="Training & services|Featured" data-analytics-text="Containers, Kubernetes and Red Hat OpenShift Technical Overview (No cost)" href="/en/services/training/do080-deploying-containerized-applications-technical-overview" > Containers, Kubernetes and Red Hat OpenShift Technical Overview (No cost) </a></li><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="Training & services|Featured" data-analytics-text="Red Hat Enterprise Linux Technical Overview (No cost)" href="/en/services/training/rh024-red-hat-linux-technical-overview" > Red Hat Enterprise Linux Technical Overview (No cost) </a></li><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="Training & services|Featured" data-analytics-text="Red Hat Certified System Administrator exam" href="/en/services/training/ex200-red-hat-certified-system-administrator-rhcsa-exam" > Red Hat Certified System Administrator exam </a></li><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="Training & services|Featured" data-analytics-text="Red Hat System Administration I" href="/en/services/training/rh124-red-hat-system-administration-i" > Red Hat System Administration I </a></li></ul></div></div></div><div class="pfe-navigation--footer"><div class="pfe-navigation--column pfe-navigation--column-span-2 desktop-col-span-2"><pfe-cta pfe-priority="primary" class="PFElement" pfelement has_link><a href="/en/services" data-analytics-category="Training & services" data-analytics-linkType="cta" data-analytics-text="Explore services">Explore services </a></pfe-cta></div></div></div><!-- Custom nav slot --><div slot="custom-slot-resources" class="custom-nav-slot"><div class="pfe-navigation-grid"><div class="pfe-navigation--column"><div class="pfe-link-list"><div class="pfe-link-list--header "><h3 data-analytics-category="Resources" data-analytics-text="Topics" class="link-header nolink">Topics</h3></div><ul class="pfe-link-list--group"><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="Resources|Topics" data-analytics-text="AI" href="/en/topics/ai" > AI </a></li><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="Resources|Topics" data-analytics-text="Application modernization" href="/en/topics/application-modernization" > Application modernization </a></li><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="Resources|Topics" data-analytics-text="Automation" href="/en/topics/automation" > Automation </a></li><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="Resources|Topics" data-analytics-text="Cloud computing" href="/en/topics/cloud-computing" > Cloud computing </a></li><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="Resources|Topics" data-analytics-text="Cloud-native applications" href="/en/topics/cloud-native-apps" > Cloud-native applications </a></li><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="Resources|Topics" data-analytics-text="Containers" href="/en/topics/containers" > Containers </a></li><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="Resources|Topics" data-analytics-text="DevOps" href="/en/topics/devops" > DevOps </a></li><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="Resources|Topics" data-analytics-text="Edge computing" href="/en/topics/edge-computing" > Edge computing </a></li><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="Resources|Topics" data-analytics-text="Linux" href="/en/topics/linux" > Linux </a></li><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="Resources|Topics" data-analytics-text="Virtualization" href="/en/topics/virtualization" > Virtualization </a></li><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="Resources|Topics" data-analytics-text="See all topics" href="/en/topics" > See all topics </a></li></ul></div></div><div class="pfe-navigation--column"><div class="pfe-link-list"><div class="pfe-link-list--header "><h3 data-analytics-category="Resources" data-analytics-text="Articles" class="link-header nolink">Articles</h3></div><ul class="pfe-link-list--group"><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="Resources|Articles" data-analytics-text="What is edge computing?" href="/en/topics/edge-computing/what-is-edge-computing-1" > What is edge computing? </a></li><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="Resources|Articles" data-analytics-text="Red Hat OpenShift vs. Kubernetes" href="/en/technologies/cloud-computing/openshift/red-hat-openshift-kubernetes-1" > Red Hat OpenShift vs. Kubernetes </a></li><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="Resources|Articles" data-analytics-text="Learning Ansible basics" href="/en/topics/automation/learning-ansible-tutorial-1" > Learning Ansible basics </a></li></ul></div></div><div class="pfe-navigation--column"><div class="pfe-link-list"><div class="pfe-link-list--header "><h3 data-analytics-category="Resources" data-analytics-text="More to explore" class="link-header nolink">More to explore</h3></div><ul class="pfe-link-list--group"><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="Resources|More to explore" data-analytics-text="Blog" href="/en/blog" > Blog </a></li><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="Resources|More to explore" data-analytics-text="Customer success stories" href="/en/success-stories" > Customer success stories </a></li><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="Resources|More to explore" data-analytics-text="Events and webinars" href="/en/events" > Events and webinars </a></li><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="Resources|More to explore" data-analytics-text="Newsroom" href="/en/about/newsroom" > Newsroom </a></li><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="Resources|More to explore" data-analytics-text="Podcasts and video series" href="/en/red-hat-original-series" > Podcasts and video series </a></li><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="Resources|More to explore" data-analytics-text="Documentation" href="https://docs.redhat.com/en" > Documentation </a></li><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="Resources|More to explore" data-analytics-text="Resource library" href="/en/resources" > Resource library </a></li><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="Resources|More to explore" data-analytics-text="Training and certification" href="/en/services/training-and-certification" > Training and certification </a></li></ul></div></div></div><div class="pfe-navigation--footer"><div class="pfe-navigation--column pfe-navigation--column-span-2"><pfe-cta pfe-priority="primary" class="PFElement" pfelement has_link><a href="/en/resources" data-analytics-category="Resources" data-analytics-linkType="cta" data-analytics-text="Explore resources">Explore resources </a></pfe-cta></div></div></div><!-- Custom nav slot --><div slot="custom-slot-partners" class="custom-nav-slot"><div class="pfe-navigation-grid"><div class="pfe-navigation--column"><div class="pfe-link-list"><div class="pfe-link-list--header "><h3 data-analytics-category="Partners" data-analytics-text="For customers" class="link-header nolink">For customers</h3></div><ul class="pfe-link-list--group"><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="Partners|For customers" data-analytics-text="Our partners" href="/en/partners" > Our partners </a></li><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="Partners|For customers" data-analytics-text="Red Hat Ecosystem Catalog" href="https://catalog.redhat.com/" > Red Hat Ecosystem Catalog </a></li><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="Partners|For customers" data-analytics-text="Find a partner" href="https://catalog.redhat.com/partners" > Find a partner </a></li></ul></div></div><div class="pfe-navigation--column"><div class="pfe-link-list"><div class="pfe-link-list--header "><h3 data-analytics-category="Partners" data-analytics-text="For partners" class="link-header nolink">For partners</h3></div><ul class="pfe-link-list--group"><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="Partners|For partners" data-analytics-text="Partner Connect" href="https://connect.redhat.com" > Partner Connect </a></li><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="Partners|For partners" data-analytics-text="Become a partner" href="https://connect.redhat.com/en/benefits-of-being-a-partner" > Become a partner </a></li><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="Partners|For partners" data-analytics-text="Training" href="https://connect.redhat.com/en/training" > Training </a></li><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="Partners|For partners" data-analytics-text="Support" href="https://connect.redhat.com/en/support" > Support </a></li><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="Partners|For partners" data-analytics-text="Access the partner portal" href="https://connect.redhat.com/partner-admin/dashboard" > Access the partner portal </a></li></ul></div></div></div></div><!-- Custom nav slot --><div slot="custom-slot-about" class="custom-nav-slot"><div class="pfe-navigation-grid"><div class="pfe-navigation--column"><div class="pfe-link-list"><div class="pfe-link-list--header "><h3 data-analytics-category="About" data-analytics-text="About us" class="link-header nolink">About us</h3></div><ul class="pfe-link-list--group"><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="About|About us" data-analytics-text="Our company" href="/en/about/company" > Our company </a></li><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="About|About us" data-analytics-text="How we work" href="/en/about/our-culture" > How we work </a></li><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="About|About us" data-analytics-text="Our social impact" href="/en/about/community-social-responsibility" > Our social impact </a></li><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="About|About us" data-analytics-text="Development model" href="/en/about/development-model" > Development model </a></li><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="About|About us" data-analytics-text="Subscription model" href="/en/about/value-of-Red-Hat" > Subscription model </a></li><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="About|About us" data-analytics-text="Product support" href="/en/services/support" > Product support </a></li></ul></div></div><div class="pfe-navigation--column"><div class="pfe-link-list"><div class="pfe-link-list--header "><h3 data-analytics-category="About" data-analytics-text="Open source" class="link-header nolink">Open source</h3></div><ul class="pfe-link-list--group"><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="About|Open source" data-analytics-text="Open source commitments" href="/en/about/open-source" > Open source commitments </a></li><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="About|Open source" data-analytics-text="How we contribute" href="/en/about/our-community-contributions" > How we contribute </a></li><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="About|Open source" data-analytics-text="Red Hat on GitHub" href="https://github.com/RedHatOfficial" > Red Hat on GitHub </a></li></ul></div></div><div class="pfe-navigation--column"><div class="pfe-link-list"><div class="pfe-link-list--header "><h3 data-analytics-category="About" data-analytics-text="Company details" class="link-header nolink">Company details</h3></div><ul class="pfe-link-list--group"><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="About|Company details" data-analytics-text="Analyst relations" href="/en/about/analysts" > Analyst relations </a></li><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="About|Company details" data-analytics-text="Blog" href="/en/blog" > Blog </a></li><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="About|Company details" data-analytics-text="Locations" href="/en/about/office-locations" > Locations </a></li><li class="pfe-link-list--group-item"><a class="custom-nav-link" data-analytics-category="About|Company details" data-analytics-text="Newsroom" href="/en/about/newsroom" > Newsroom </a></li></ul></div></div><div class="pfe-navigation--column"><div class="pfe-link-list"></div></div></div><div class="pfe-navigation--footer"><div class="pfe-navigation--column tablet-col-span-all"><pfe-cta pfe-priority="primary" class="PFElement" pfelement has_link><a href="/en/about" data-analytics-category="About" data-analytics-linkType="cta" data-analytics-text="Explore Red Hat">Explore Red Hat </a></pfe-cta></div><div class="pfe-navigation--column tablet-col-span-all"><pfe-cta class="PFElement" pfelement has_link><a href="/en/contact" data-analytics-category="About" data-analytics-linkType="cta" data-analytics-text="Contact us">Contact us </a></pfe-cta></div></div></div><div slot="custom-slot-explore-more" class="custom-nav-slot"><div class="pfe-navigation--column"><div class="pfe-link-list"><div class="pfe-link-list--header"><span class="link-header nolink" >For customers</span></div><ul class="pfe-link-list--group"><li class="pfe-link-list--group-item"><a href="https://access.redhat.com/" data-analytics-category="All Red Hat|For customers" data-analytics-text="Customer support" >Customer support</a><li class="pfe-link-list--group-item"><a href="https://access.redhat.com/management" data-analytics-category="All Red Hat|For customers" data-analytics-text="Subscription management" >Subscription management</a><li class="pfe-link-list--group-item"><a href="https://access.redhat.com/support/cases" data-analytics-category="All Red Hat|For customers" data-analytics-text="Support cases" >Support cases</a><li class="pfe-link-list--group-item"><a href="https://catalog.redhat.com/" data-analytics-category="All Red Hat|For customers" data-analytics-text="Red Hat Ecosystem Catalog" >Red Hat Ecosystem Catalog</a><li class="pfe-link-list--group-item"><a href="https://catalog.redhat.com/partners" data-analytics-category="All Red Hat|For customers" data-analytics-text="Find a partner" >Find a partner</a></ul></div></div><div class="pfe-navigation--column"><div class="pfe-link-list"><div class="pfe-link-list--header"><span class="link-header nolink" >For partners</span></div><ul class="pfe-link-list--group"><li class="pfe-link-list--group-item"><a href="https://connect.redhat.com/partner-admin/dashboard" data-analytics-category="All Red Hat|For partners" data-analytics-text="Partner portal" >Partner portal</a><li class="pfe-link-list--group-item"><a href="https://connect.redhat.com/en/support" data-analytics-category="All Red Hat|For partners" data-analytics-text="Partner support" >Partner support</a><li class="pfe-link-list--group-item"><a href="https://connect.redhat.com/" data-analytics-category="All Red Hat|For partners" data-analytics-text="Become a partner " >Become a partner </a></ul></div></div><div class="pfe-navigation--column"><div class="pfe-link-list"><div class="pfe-link-list--header"><span class="link-header nolink" >Try, buy, & sell</span></div><ul class="pfe-link-list--group"><li class="pfe-link-list--group-item"><a href="https://marketplace.redhat.com/en-us" data-analytics-category="All Red Hat|Try, buy, & sell" data-analytics-text="Red Hat Marketplace" >Red Hat Marketplace</a><li class="pfe-link-list--group-item"><a href="https://www.redhat.com/en/store" data-analytics-category="All Red Hat|Try, buy, & sell" data-analytics-text="Red Hat Store" >Red Hat Store</a><li class="pfe-link-list--group-item"><a href="/en/contact" data-analytics-category="All Red Hat|Try, buy, & sell" data-analytics-text="Contact sales" >Contact sales</a><li class="pfe-link-list--group-item"><a href="/en/products/trials" data-analytics-category="All Red Hat|Try, buy, & sell" data-analytics-text="Start a trial" >Start a trial</a></ul></div></div><div class="pfe-navigation--column"><div class="pfe-link-list"><div class="pfe-link-list--header"><span class="link-header nolink" >Learning resources</span></div><ul class="pfe-link-list--group"><li class="pfe-link-list--group-item"><a href="https://docs.redhat.com/en" data-analytics-category="All Red Hat|Learning resources" data-analytics-text="Documentation" >Documentation</a><li class="pfe-link-list--group-item"><a href="/en/services/training-and-certification" data-analytics-category="All Red Hat|Learning resources" data-analytics-text="Training and certification " >Training and certification </a><li class="pfe-link-list--group-item"><a href="https://cloud.redhat.com/learn" data-analytics-category="All Red Hat|Learning resources" data-analytics-text="Hybrid cloud learning hub" >Hybrid cloud learning hub</a><li class="pfe-link-list--group-item"><a href="/en/interactive-labs" data-analytics-category="All Red Hat|Learning resources" data-analytics-text="Interactive labs" >Interactive labs</a><li class="pfe-link-list--group-item"><a href="https://learn.redhat.com/" data-analytics-category="All Red Hat|Learning resources" data-analytics-text="Learning community" >Learning community</a><li class="pfe-link-list--group-item"><a href="https://tv.redhat.com" data-analytics-category="All Red Hat|Learning resources" data-analytics-text="Red Hat TV" >Red Hat TV</a></ul></div></div><div class="pfe-navigation--column"><div class="pfe-link-list"><div class="pfe-link-list--header"><span class="link-header nolink" >Open source communities</span></div><ul class="pfe-link-list--group"><li class="pfe-link-list--group-item"><a href="https://access.redhat.com/accelerators" data-analytics-category="All Red Hat|Open source communities" data-analytics-text="Global advocacy" >Global advocacy</a><li class="pfe-link-list--group-item"><a href="/en/about/our-community-contributions" data-analytics-category="All Red Hat|Open source communities" data-analytics-text="How we contribute" >How we contribute</a></ul></div></div></div><!-- For you. --><div slot="secondary-links" class="for-you hidden-at-mobile"><button class="pfe-navigation__secondary-link" data-analytics-category="For you" data-analytics-text="For you"><pfe-icon icon="rh-icon-paper-lined" aria-hidden="true"></pfe-icon> For you <span class="newitem-dot visually-hidden"><span class="visually-hidden">New</span></span></button><pfe-navigation-dropdown dropdown-width="single"><h3 data-analytics-category="For you" data-analytics-text="Recommendations">Recommendations</h3><div class="at" id="for-you-mbox"><div class="one-column"><div class="dx-relative content-region"><p>As you browse redhat.com, we'll recommend resources you may like. For now, try these.</p><hr><ul><li><a href="/en/technologies/all-products" data-analytics-category="For you" data-analytics-level="3" data-analytics-text="All Red Hat products">All Red Hat products</a></li><li><a href="/en/topics" data-analytics-category="For you" data-analytics-level="3" data-analytics-text="Tech topics">Tech topics</a></li><li><a href="/en/resources" data-analytics-category="For you" data-analytics-level="3" data-analytics-text="Red Hat resources">Red Hat resources</a></li></ul></div></div></div><button class="for-you-close"><img src="https://static.redhat.com/libs/redhat/rh-iconfont/latest/svg/web-icon-close.svg" alt="close"></button></pfe-navigation-dropdown></div><!-- JS snippet for initializing mbox div. --><script>window.appEventData=window.appEventData||[];window.appEventData.push({event:"Inline Mbox Rendered",targetInlineMbox:{latest_inline_mbox:{name:"for-you-mbox",selector:"#for-you-mbox"},},__adobe:{target:{"lang":document.documentElement.lang,"taxonomyTopic":window._rhTarget?.util?.arrayToString(pageData?.taxonomyTopic),"taxonomyProduct":window._rhTarget?.util?.arrayToString(pageData?.taxonomyProduct),"taxonomyPrimaryProduct":document.querySelector('meta[name="taxonomy-primary-product-tid"]')?.content||"","taxonomySubType":window._rhTarget?.util?.arrayToString(pageData?.taxonomySubType),"taxonomyChallenge":window._rhTarget?.util?.arrayToString(pageData?.taxonomyChallenge)}}})</script><div slot="secondary-links"><!-- Mobile buttons & contact us. --><div class="hidden-at-desktop hidden-at-tablet buttons"><a href="https://access.redhat.com/" data-analytics-category="More Red Hat" data-analytics-text="Support" class="" >Support</a><a href="https://docs.redhat.com/en" data-analytics-category="More Red Hat" data-analytics-text="Documentation" class="" >Documentation</a><a href="https://cloud.redhat.com/" data-analytics-category="More Red Hat" data-analytics-text="Console" class="" >Console</a><a href="https://developers.redhat.com/" data-analytics-category="More Red Hat" data-analytics-text="Developers" class="" >Developers</a><a href="/en/products/trials" data-analytics-category="More Red Hat" data-analytics-text="Start a trial" class="" >Start a trial</a><!-- Mobile contact button. --><a href="/en/contact" data-analytics-category="More Red Hat" data-analytics-text="Contact" >Contact</a></div><!-- Mobile language select. --><div class="hidden-at-desktop hidden-at-tablet mobile-lang-select"><label for="lang_selection">Select a language</label><select id="lang_selection"><option value="/zh/topics/api/what-is-api-design">简体中文</option><option value="/en/topics/api/what-is-api-design" selected>English</option><option value="/fr/topics/api/what-is-api-design">Français</option><option value="/de/topics/api/what-is-api-design">Deutsch</option><option value="/it/topics/api/what-is-api-design">Italiano</option><option value="/ja/topics/api/what-is-api-design">日本語</option><option value="/ko/topics/api/what-is-api-design">한국어</option><option value="/pt-br/topics/api/what-is-api-design">Português</option><option value="/es/topics/api/what-is-api-design">Español</option></select></div><!-- Desktop contact us link. --><a href="/en/contact" data-analytics-text="contact" class="hidden-at-mobile"><pfe-icon icon="local-talk-bubble" pfe-size="md" aria-hidden="true"></pfe-icon> Contact us </a></div><!-- Language --><div slot="secondary-links" id="utility-globe" class="hidden-at-mobile"><button class="pfe-navigation__secondary-link" data-analytics-text="English"><pfe-icon icon="web-globe" size="sm" aria-hidden="true"></pfe-icon> English </button><pfe-navigation-dropdown dropdown-width="full"><div class="pfe-navigation-item__tray--container"><div class="language-picker hidden-at-mobile"><h3 class="pfe-headline-2" data-analytics-category="English" data-analytics-text="Select a language">Select a language</h3><ul><li><a href="/zh/topics/api/what-is-api-design" class="language-link" xml:lang="zh" hreflang="zh" data-analytics-category="Language" data-analytics-text="Chinese">简体中文</a></li><li><a href="/en/topics/api/what-is-api-design" class="language-link" xml:lang="en" hreflang="en" data-analytics-category="Language" data-analytics-text="English">English</a></li><li><a href="/fr/topics/api/what-is-api-design" class="language-link" xml:lang="fr" hreflang="fr" data-analytics-category="Language" data-analytics-text="French">Français</a></li><li><a href="/de/topics/api/what-is-api-design" class="language-link" xml:lang="de" hreflang="de" data-analytics-category="Language" data-analytics-text="German">Deutsch</a></li><li><a href="/it/topics/api/what-is-api-design" class="language-link" xml:lang="it" hreflang="it" data-analytics-category="Language" data-analytics-text="Italian">Italiano</a></li><li><a href="/ja/topics/api/what-is-api-design" class="language-link" xml:lang="ja" hreflang="ja" data-analytics-category="Language" data-analytics-text="Japanese">日本語</a></li><li><a href="/ko/topics/api/what-is-api-design" class="language-link" xml:lang="ko" hreflang="ko" data-analytics-category="Language" data-analytics-text="Korean">한국어</a></li><li><a href="/pt-br/topics/api/what-is-api-design" class="language-link" xml:lang="pt-br" hreflang="pt-br" data-analytics-category="Language" data-analytics-text="Portuguese">Português</a></li><li><a href="/es/topics/api/what-is-api-design" class="language-link" xml:lang="es" hreflang="es" data-analytics-category="Language" data-analytics-text="Spanish">Español</a></li></ul></div></div></pfe-navigation-dropdown></div><template><div class="hidden-at-desktop hidden-at-tablet mobile-lang-select"><label for="lang_selection" >Select a language</label><select id="lang_selection"><option value="/zh/topics/api/what-is-api-design">简体中文</option><option value="/en/topics/api/what-is-api-design" selected>English</option><option value="/fr/topics/api/what-is-api-design">Français</option><option value="/de/topics/api/what-is-api-design">Deutsch</option><option value="/it/topics/api/what-is-api-design">Italiano</option><option value="/ja/topics/api/what-is-api-design">日本語</option><option value="/ko/topics/api/what-is-api-design">한국어</option><option value="/pt-br/topics/api/what-is-api-design">Português</option><option value="/es/topics/api/what-is-api-design">Español</option></select></div></template><form slot="search" class="search-form rhb-search-tray--form" autocomplete="off" action="https://www.redhat.com/en/search/node" method="post" id="rhdc_search_form" accept-charset="UTF-8"><div><div class="form-wrapper" id="edit-basic"><div class="form-item form-type-textfield form-item-search-field"><input maxlength="128" size="15" placeholder="What are you looking for?" type="text" data-drupal-selector="edit-search-field" id="edit-search-field" name="search_field" value="" class="form-text" aria-label="Search"></div><div class="form-actions form-wrapper" id="edit-actions"><input type="submit" data-drupal-selector="edit-submit" id="edit-submit" name="op" value="Search" class="form-submit rhb-search-tray--submit" data-analytics-linktype="cta" data-analytics-text="Search" data-analytics-category="Search"></div></div></div></form><rh-account-dropdown slot="account" lang="en" login-link="https://sso.redhat.com" ></rh-account-dropdown></pfe-navigation><nav class="pfe-nav-light-dom"><!-- Use <img> to load the icons needed for the nav sooner. --><img src="/themes/custom/rh_base_ui/dist/img/talk-bubble.svg" alt="" style="display: none" /><img src="https://static.redhat.com/libs/redhat/rh-iconfont/4/svg/web-icon-globe.svg" alt="" style="display: none" /><img src="https://static.redhat.com/libs/redhat/rh-iconfont/4/svg/web-icon-user.svg" alt="" style="display: none" /><img src="https://static.redhat.com/libs/redhat/rh-iconfont/4/svg/web-icon-search.svg" alt="" style="display: none" /><!-- site logo --><div class="pfe-nav-light-dom__logo"><a href="/en" class="pfe-nav-light-dom__logo-link"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 613 145" class="redhat-logo" style="margin:0; width: 135px; display:block" height="32" width="135" role="img"><title>Red Hat</title><path d="M127.47 83.49c12.51 0 30.61-2.58 30.61-17.46a14 14 0 0 0-.31-3.42l-7.45-32.36c-1.72-7.12-3.23-10.35-15.73-16.6C124.89 8.69 103.76.5 97.51.5 91.69.5 90 8 83.06 8c-6.68 0-11.64-5.6-17.89-5.6-6 0-9.91 4.09-12.93 12.5 0 0-8.41 23.72-9.49 27.16a6.43 6.43 0 0 0-.22 1.94c0 9.22 36.3 39.45 84.94 39.45M160 72.07c1.73 8.19 1.73 9.05 1.73 10.13 0 14-15.74 21.77-36.43 21.77-46.76.03-87.72-27.37-87.72-45.48a18.45 18.45 0 0 1 1.51-7.33C22.27 52 .5 55 .5 74.22c0 31.48 74.59 70.28 133.65 70.28 45.28 0 56.7-20.48 56.7-36.65 0-12.72-11-27.16-30.83-35.78" fill="#e00"/><path d="M160 72.07c1.73 8.19 1.73 9.05 1.73 10.13 0 14-15.74 21.77-36.43 21.77-46.76.03-87.72-27.37-87.72-45.48a18.45 18.45 0 0 1 1.51-7.33l3.66-9.06a6.43 6.43 0 0 0-.22 1.9c0 9.22 36.3 39.45 84.94 39.45 12.51 0 30.61-2.58 30.61-17.46a14 14 0 0 0-.31-3.42Z"/><path d="M579.74 92.8c0 11.89 7.15 17.67 20.19 17.67a52.11 52.11 0 0 0 11.89-1.68V95a24.84 24.84 0 0 1-7.68 1.16c-5.37 0-7.36-1.68-7.36-6.73V68.3h15.56V54.1h-15.56v-18l-17 3.68V54.1h-11.29v14.2h11.25Zm-53 .32c0-3.68 3.69-5.47 9.26-5.47a43.12 43.12 0 0 1 10.1 1.26v7.15a21.51 21.51 0 0 1-10.63 2.63c-5.46 0-8.73-2.1-8.73-5.57m5.2 17.56c6 0 10.84-1.26 15.36-4.31v3.37h16.82V74.08c0-13.56-9.14-21-24.39-21-8.52 0-16.94 2-26 6.1l6.1 12.52c6.52-2.74 12-4.42 16.83-4.42 7 0 10.62 2.73 10.62 8.31v2.73a49.53 49.53 0 0 0-12.62-1.58c-14.31 0-22.93 6-22.93 16.73 0 9.78 7.78 17.24 20.19 17.24m-92.44-.94h18.09V80.92h30.29v28.82H506V36.12h-18.07v28.29h-30.29V36.12h-18.09Zm-68.86-27.9c0-8 6.31-14.1 14.62-14.1A17.22 17.22 0 0 1 397 72.09v19.45A16.36 16.36 0 0 1 385.24 96c-8.2 0-14.62-6.1-14.62-14.09m26.61 27.87h16.83V32.44l-17 3.68v20.93a28.3 28.3 0 0 0-14.2-3.68c-16.19 0-28.92 12.51-28.92 28.5a28.25 28.25 0 0 0 28.4 28.6 25.12 25.12 0 0 0 14.93-4.83ZM320 67c5.36 0 9.88 3.47 11.67 8.83h-23.2C310.15 70.3 314.36 67 320 67m-28.67 15c0 16.2 13.25 28.82 30.28 28.82 9.36 0 16.2-2.53 23.25-8.42l-11.26-10c-2.63 2.74-6.52 4.21-11.14 4.21a14.39 14.39 0 0 1-13.68-8.83h39.65v-4.23c0-17.67-11.88-30.39-28.08-30.39a28.57 28.57 0 0 0-29 28.81M262 51.58c6 0 9.36 3.78 9.36 8.31S268 68.2 262 68.2h-17.89V51.58Zm-36 58.16h18.09V82.92h13.77l13.89 26.82H292l-16.2-29.45a22.27 22.27 0 0 0 13.88-20.72c0-13.25-10.41-23.45-26-23.45H226Z" fill="#fff"/></svg></a></div><ul class="pfe-nav-light-dom__primary"><li><a href="https://www.redhat.com/en/technologies/all-products">Products</a></li><li><a href="https://www.redhat.com/en/solutions">Solutions</a></li><li><a href="https://www.redhat.com/en/services">Training & services</a></li><li><a href="https://www.redhat.com/en/resources">Resources</a></li><li><a href="">Partners</a></li><li><a href="https://www.redhat.com/en/about">About</a></li></ul><div class="pfe-nav-light-dom__secondary"><a class="pfe-nav-light-dom__secondary-link pfe-nav-light-dom__burger" href="#mobile-menu"><div class="pfe-nav-light-dom__burger-icon"></div><span class="pfe-nav-light-dom__mobile-text">Menu</span></a><a class="pfe-nav-light-dom__secondary-link display-at-desktop" href="/en/search"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 17 17" class="white-fill" width="18" height="18"><path d="M15.85 15.153l-5.13-5.13a5.51 5.51 0 1 0-.708.708l5.13 5.13a.507.507 0 0 0 .707 0 .5.5 0 0 0 0-.707zM6.5 11.007a4.5 4.5 0 1 1 4.5-4.5 4.505 4.505 0 0 1-4.5 4.5z"/></svg> Search </a><a class="pfe-nav-light-dom__secondary-link display-at-desktop"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36" class="white-fill" width="28" height="28"><path d="M26.75 29V7a.75.75 0 0 0-.75-.73H14a.63.63 0 0 0-.19 0h-.07a.66.66 0 0 0-.22.15l-4 4a.86.86 0 0 0-.15.22.64.64 0 0 0 0 .07.58.58 0 0 0 0 .19V29a.76.76 0 0 0 .75.75H26a.76.76 0 0 0 .75-.75zM13.25 8.83v1.44h-1.44zm12 19.44h-14.5v-16.5H14a.76.76 0 0 0 .75-.75V7.77h10.5z"/><path d="M12.25 14a.76.76 0 0 0 .75.75h5a.75.75 0 0 0 0-1.5h-5a.75.75 0 0 0-.75.75zM12.25 17a.76.76 0 0 0 .75.75h10a.75.75 0 0 0 0-1.5H13a.75.75 0 0 0-.75.75zM23 19.27H13a.75.75 0 1 0 0 1.5h10a.75.75 0 0 0 0-1.5zM23 22.27H13a.75.75 0 1 0 0 1.5h10a.75.75 0 0 0 0-1.5z"/></svg> For you </a><a class="pfe-nav-light-dom__secondary-link display-at-desktop" href="/en/contact" data-analytics-text="contact"><svg viewBox="0 0 29 29" width="18" height="18" xmlns="http://www.w3.org/2000/svg" xml:space="preserve" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="10"><path fill="none" d="M0 0h29v29H0z"/><path d="M31.7 23.1H14.8c-.2 0-.4.1-.5.2l-5.2 5.2v-4.7c0-.2-.1-.4-.2-.5-.1-.1-.3-.2-.5-.2H4.3V6.5h27.4v16.6Z" fill="none" stroke="#fff" stroke-width="1.4" transform="matrix(1 0 0 1 -3.507 -.472)"/></svg> Contact us </a><a class="pfe-nav-light-dom__secondary-link display-at-desktop" href="#switch-language"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 17 17" class="white-fill" width="18" height="18"><path d="M8.5 1A7.5 7.5 0 1 0 16 8.5 7.508 7.508 0 0 0 8.5 1zm0 13.73a9.636 9.636 0 0 1-1.94-3.723h3.88A9.647 9.647 0 0 1 8.5 14.73zm-2.148-4.723a9.688 9.688 0 0 1 0-3.007h4.3a9.75 9.75 0 0 1 0 3.007zM2 8.5A6.45 6.45 0 0 1 2.182 7h3.153a10.74 10.74 0 0 0 0 3.007H2.182A6.515 6.515 0 0 1 2 8.5zM10.442 6H6.557A9.636 9.636 0 0 1 8.5 2.268 9.625 9.625 0 0 1 10.442 6zm1.222 1h3.154a6.268 6.268 0 0 1 0 3.007h-3.155a10.78 10.78 0 0 0 0-3.007zM14.5 6h-3.026a10.62 10.62 0 0 0-1.82-3.89A6.513 6.513 0 0 1 14.5 6zM7.34 2.11A10.61 10.61 0 0 0 5.525 6H2.5a6.52 6.52 0 0 1 4.84-3.89zM2.5 11.006h3.028a10.6 10.6 0 0 0 1.82 3.887A6.5 6.5 0 0 1 2.5 11.007zm7.153 3.884a10.6 10.6 0 0 0 1.82-3.883H14.5a6.518 6.518 0 0 1-4.847 3.884z"/></svg> English </a><a class="pfe-nav-light-dom__secondary-link" href="https://sso.redhat.com/auth/realms/redhat-external/protocol/saml/clients/legacy-idp-servlets"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 17 17" class="white-fill" width="18" height="18"><path d="M10.7 8.343a4 4 0 1 0-4.4 0A7.51 7.51 0 0 0 1 15.507a.5.5 0 1 0 1 0 6.5 6.5 0 1 1 13 0 .5.5 0 1 0 1 0 7.51 7.51 0 0 0-5.3-7.164zM5.5 5.007a3 3 0 1 1 3 3 3 3 0 0 1-3-3z"/></svg> Log in </a></div></nav><ul class="pfe-nav-light-dom-mobile-menu" id="mobile-menu"><li class="pfe-nav-light-dom-mobile-menu__item"><a class="pfe-nav-light-dom-mobile-menu__link" href="https://www.redhat.com/en/technologies/all-products">Products</a></li><li class="pfe-nav-light-dom-mobile-menu__item"><a class="pfe-nav-light-dom-mobile-menu__link" href="https://www.redhat.com/en/solutions">Solutions</a></li><li class="pfe-nav-light-dom-mobile-menu__item"><a class="pfe-nav-light-dom-mobile-menu__link" href="https://www.redhat.com/en/services">Training & services</a></li><li class="pfe-nav-light-dom-mobile-menu__item"><a class="pfe-nav-light-dom-mobile-menu__link" href="https://www.redhat.com/en/resources">Resources</a></li><li class="pfe-nav-light-dom-mobile-menu__item"><a class="pfe-nav-light-dom-mobile-menu__link" href="">Partners</a></li><li class="pfe-nav-light-dom-mobile-menu__item"><a class="pfe-nav-light-dom-mobile-menu__link" href="https://www.redhat.com/en/about">About</a></li><li class="pfe-nav-light-dom-mobile-menu__item"><a class="pfe-nav-light-dom-mobile-menu__link" href="/en/contact">Contact us</a></li></ul><div class="pfe-nav-light-dom-switcher" id="switch-language"><div class="language-picker hidden-at-mobile"><h3 class="pfe-headline-2" data-analytics-category="English" data-analytics-text="Select a language">Select a language</h3><ul><li><a href="/zh/topics/api/what-is-api-design" class="language-link" xml:lang="zh" hreflang="zh" data-analytics-category="Language" data-analytics-text="Chinese">简体中文</a></li><li><a href="/en/topics/api/what-is-api-design" class="language-link" xml:lang="en" hreflang="en" data-analytics-category="Language" data-analytics-text="English">English</a></li><li><a href="/fr/topics/api/what-is-api-design" class="language-link" xml:lang="fr" hreflang="fr" data-analytics-category="Language" data-analytics-text="French">Français</a></li><li><a href="/de/topics/api/what-is-api-design" class="language-link" xml:lang="de" hreflang="de" data-analytics-category="Language" data-analytics-text="German">Deutsch</a></li><li><a href="/it/topics/api/what-is-api-design" class="language-link" xml:lang="it" hreflang="it" data-analytics-category="Language" data-analytics-text="Italian">Italiano</a></li><li><a href="/ja/topics/api/what-is-api-design" class="language-link" xml:lang="ja" hreflang="ja" data-analytics-category="Language" data-analytics-text="Japanese">日本語</a></li><li><a href="/ko/topics/api/what-is-api-design" class="language-link" xml:lang="ko" hreflang="ko" data-analytics-category="Language" data-analytics-text="Korean">한국어</a></li><li><a href="/pt-br/topics/api/what-is-api-design" class="language-link" xml:lang="pt-br" hreflang="pt-br" data-analytics-category="Language" data-analytics-text="Portuguese">Português</a></li><li><a href="/es/topics/api/what-is-api-design" class="language-link" xml:lang="es" hreflang="es" data-analytics-category="Language" data-analytics-text="Spanish">Español</a></li></ul></div></div><div class="rhb-region rhb-region--highlighted"><div data-drupal-messages-fallback class="hidden"></div></div> <div class="rhdc-header--background-image"></div> <div class="rhb-region rhb-region--content" id="rhb-main-content" role="main"> <article> <section class="dx-band dx-pt-6 dx-pb-0"> <div class="dx-container dx-flex-col lg:dx-flex lg:dx-flex-row xl:dx-gap-3 lg:dx-justify-between dx-mb-2 lg:dx-mb-8"> <div class="lg:dx-col-2 dx-mb-3 lg:dx-mb-0"> </div> <div id="rhdc-article-hero" class="rhdc-article-hero lg:dx-col-6"> <!-- Article hero template --> <div class="rhdc-article-hero-breadcrumbs"> <!-- Component | Nav_links --> <ul class="rh-navigation-link--component" data-rh-nav-type="breadcrumb" ><li class="rh-navigation-link-container"><a class="rh-navigation-link-item" href="/en/topics" title="Topics" > Topics </a></li><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" width="11" height="11" viewBox="0 -18 1024 1055"><path d="M810.642 511.557c0 8.905-3.447 16.776-10.284 23.613L322.31 1013.216c-6.835 6.837-14.706 10.284-23.61 10.284s-16.776-3.447-23.613-10.284l-51.303-51.303c-6.837-6.837-10.284-14.707-10.284-23.612s3.447-16.775 10.284-23.61L626.972 511.5 223.784 108.31c-6.837-6.835-10.284-14.706-10.284-23.61s3.447-16.776 10.284-23.613l51.303-51.303C281.924 2.947 289.794-.5 298.7-.5s16.775 3.447 23.61 10.284L800.36 487.83c6.837 6.837 10.284 14.708 10.284 23.613v.114" stroke-width="25" stroke="black"/></svg><li class="rh-navigation-link-container"><a class="rh-navigation-link-item" href="/en/topics/integration" title="Integration" > Integration </a></li><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" width="11" height="11" viewBox="0 -18 1024 1055"><path d="M810.642 511.557c0 8.905-3.447 16.776-10.284 23.613L322.31 1013.216c-6.835 6.837-14.706 10.284-23.61 10.284s-16.776-3.447-23.613-10.284l-51.303-51.303c-6.837-6.837-10.284-14.707-10.284-23.612s3.447-16.775 10.284-23.61L626.972 511.5 223.784 108.31c-6.837-6.835-10.284-14.706-10.284-23.61s3.447-16.776 10.284-23.613l51.303-51.303C281.924 2.947 289.794-.5 298.7-.5s16.775 3.447 23.61 10.284L800.36 487.83c6.837 6.837 10.284 14.708 10.284 23.613v.114" stroke-width="25" stroke="black"/></svg><li class="rh-navigation-link-container"> What is API design? </li></ul> </div> <div class="rhdc-article-hero-headline dx-mb-4 dx-mt-4"> <!-- Component | Band_header --> <div class="rh-band-header--component" ><h1 class="rh-band-header-hero-headline" >What is API design?</h1> </div> </div> <div class="rhdc-article-hero-front-matter"> <!-- Component | Front_matter --> <div class="rh-front-matter--component"><div class="rh-front-matter-wrapper" data-rh-layout="inline-horizontal"><div class="rh-front-matter-metadata"><span class="rh-front-matter-metadata-publish-date">Published <span> January 8, 2019</span></span><span class="rh-front-matter-metadata-separator">•</span><span class="rh-front-matter-metadata-readtime" for="article-contents" data-rh-hidden="sm"><em class="placeholder">13</em>-minute read</span></div><pfe-clipboard class="rh-front-matter-share" role="button" tabindex="0"><span slot="text">Copy URL</span></pfe-clipboard></div></div></div> </div> <div class="lg:dx-col-3"> </div> </div> </section> <section class="dx-band dx-pt-0 rhdc-article-body" id="rhdc-aside-promo"> <div class="dx-container dx-flex-col lg:dx-flex lg:dx-flex-row xl:dx-gap-3 lg:dx-justify-between"> <div class="lg:dx-col-1 lg:dx-col-2 dx-mb-6 lg:dx-mb-0"> <!-- Jump links navigation --><pfe-jump-links-nav id="article-nav" autobuild offset="120" sr-text="Jump to section" ></pfe-jump-links-nav> </div> <div class="rhdc-article-body--content lg:dx-col-6"> <pfe-jump-links-panel scrolltarget="article-nav" data-rh-layout="tall-stacked" pfelement="" class="PFElement" type="content"> <!-- Subpattern | Article section --> <!-- Group layout --><div class="rh-group--layout" data-rh-layout="stacked" ><div class="rh-group-body" data-rh-layout="min-stacked" ><!-- Component | standard_header --><header class="rh-standard-header--component" ><div class="rh-standard-header-container"><h2 class="rh-standard-header-headline-medium pfe-jump-links-panel__section" id="overview" nav-label="Overview" >Overview</h2></div></header><!-- Component | Generic --><div class="rh-generic--component" ><p>API design refers to the process of developing <a href="/en/topics/api/what-are-application-programming-interfaces">application programming interfaces (APIs)</a> that expose data and application functionality for use by developers and users. APIs are important to modern organizations, adding new capabilities to everything from their operations and products to their partnership strategies. It’s no longer a stretch to say that most organizations don’t ask whether to engage in API programs, but how to do so. </p><p>An effective API program has to build on an organization’s overarching corporate strategy and contribute to its objectives. You’ll know you have the makings of a great strategy when you can answer the following 3 questions in a clear way:</p><ol><li>Why do we want to implement APIs?</li><li>What concrete outcomes do we want to achieve with these APIs?</li><li>How do we plan to execute the API program to achieve that?</li></ol><h4>The why</h4><p>People often misinterpret this question in different ways. Firstly, rather than focus on the value of the API, it’s helpful to think of the value of the <em>effect</em> of the API. Remember, it’s the organization’s core business that’s valuable, not necessarily the API. An API is valuable when it becomes a channel that provides new types of access to the existing value an organization delivers.</p><p>Another common misconception is believing that for an API to be valuable users must be prepared to pay for it. This is true only if the API itself is the product. In most models, this is not the case. APIs are usually driving some other metric—sales, affiliate referrals, brand awareness, etc. The value of the API to users is the <em>result</em> of an API call (service request and response), rather than the call itself.</p><p>The most common business drivers for establishing an API program, according to a <a href="https://visual.ly/community/infographic/technology/herding-api-hurricane">survey of 152 organizations</a> conducted by the Cutter Consortium and Wipro, are to develop new partnerships, to increase revenue, to exploit new business models, to improve time to market, and to develop new distribution channels. The top technology drivers are to improve application integration, improve mobile integration, and support the connection to more devices. The benefits to the organization need to be strong enough to make the decision to invest in the APIs an obvious choice for the organization.</p><h4>The what</h4><p>The second question should be “What concrete outcomes do we want to achieve with these APIs?” In other words, “What do the APIs actually do and what impact do they have on the wider business strategy?”</p><p>Both the concepts of the internal view and the external view of an organization can help to define the <em>what</em> of the API. The internal view refers to specific, valuable assets an organization possesses. The more valuable and unique the services and resources offered the more suitable they are for an API program.</p><p>An organization that has unique data could take advantage of this resource by allowing access to the data via API. Unique content, data, and services can make access to the API extremely valuable.</p><p>When deciding what an API should do for a business, both internal and external views<br>need to be examined. The decision about the <em>what</em> is then usually a combination of the 2 views.</p><p>In concrete terms, while the <em>why</em> is unlikely to change often, the <em>what</em> may vary significantly based on external factors—such as markets, technical considerations, or economic conditions. Internal directions about the value of an asset may change, which could also affect what should be achieved with an API.</p><h4>The how</h4><p>The final question, “How do we design our API program to achieve what we want?” is all about implementation and execution.</p><p>Teams must ask themselves:</p><ul><li>What technology is used to build the APIs?</li><li>How are the APIs designed?</li><li>How are the APIs maintained?</li><li>How are the APIs promoted inside the organization or marketed to the outside world?</li><li>What resources are available?</li><li>Who should be on the team?</li><li>How do we track success against the business goals that have been set?</li></ul></div></div></div> <!-- Subpattern | Article section --> <!-- Group layout --><div class="rh-group--layout" data-rh-layout="stacked" ><div class="rh-group-body" data-rh-layout="min-stacked" ><!-- Component | standard_header --><header class="rh-standard-header--component" ><div class="rh-standard-header-container"><h2 class="rh-standard-header-headline-medium pfe-jump-links-panel__section" id="the-api-team" nav-label="The API team" >The API team</h2></div></header><!-- Component | Generic --><div class="rh-generic--component" ><p>An API team is most closely related to a “product” team—whether your customers are internal or external, you are in charge of building, deploying, operating, and optimizing the infrastructure others depend on.</p><p>Just like product teams, API teams can also be very diverse, but typically they should include a product-centric person who acts as the keeper of strategy and goals, design-focused team members who ensure best practice in API design, engineers who put the API technology in place, and operations team members who will run the API.</p><p>Over time you may also have additional people involved, including support and community team members, API evangelists, security representatives, and others.</p><p>John Musser highlighted <a href="https://www.slideshare.net/jmusser/what-makes-a-great-open-api">5 “keys” to a great API in his 2012 talk</a> at the O’Reilly Open Source convention:</p><ol><li>Provide a valuable service</li><li>Have a plan and a business model</li><li>Make it simple, flexible, and easily adopted</li><li>It should be managed and measured</li><li>Provide great developer support</li></ol><p>The first key, provide a valuable service, is especially important when thinking about the <em>why</em> of your API program The value proposition is the main driver for success of the API. If an API has the wrong value proposition (or none at all) it will be very difficult or impossible to find users.</p><p>Almost any company with an existing product, digital or physical, can generate value through an API, if that API links to existing offerings and enhances them. As long as the API is structured in a way that covers meaningful use cases for developers, it will deliver value.</p></div></div></div> <div class="rhdc--inline-promo" data-rh-mbox="inline-promo"> <!-- Subpattern | inline_promo --> <!-- Card layout --><div class="rh-card--layout rh-promo-article" data-rh-promo=inline data-rh-border-radius=none data-rh-background="gray" data-rh-theme="light" data-rh-bg-align="cover" data-rh-layout="fit-content-33" data-rh-border="top-bottom"><div class="rh-card-content" data-rh-layout="stacked" ><!-- Subpattern | simple_text --><!-- Group layout --><div class="rh-group--layout" data-rh-layout="stacked" ><div class="rh-group-body" data-rh-layout="min-stacked" ><!-- Component | Band_header --><div class="rh-band-header--component" data-rh-align=left ><h2 class="rh-band-header-subsection-headline" id="rh-n8dap">Red Hat resources</h2></div></div></div></div><footer class="rh-card-footer" ><!-- Group layout --><div class="rh-group--layout" ><div class="rh-group-body" data-rh-layout="min-stacked" ><!-- Component | CTA --><span class="rh-cta--component" data-rh-cta-type="secondary" ><a class="rh-cta-link" href="/en/resources" title="Keep reading" data-analytics-linkType="cta" data-analytics-text="Keep reading" data-analytics-category="Inline promo | Red Hat resources" >Keep reading<span aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path d="M31.58 18.24a.64.64 0 0 0-.14-.68l-9-9c-.56-.58-1.47.32-.88.88l7.93 7.94H5a.62.62 0 1 0 0 1.24h24.49l-7.93 7.94a.62.62 0 0 0 .88.88l9-9a.72.72 0 0 0 .14-.2Z"/></svg></span></a></span></div></div></footer></div> </div> <!-- Subpattern | Article section --> <!-- Group layout --><div class="rh-group--layout" data-rh-layout="stacked" ><div class="rh-group-body" data-rh-layout="min-stacked" ><!-- Component | standard_header --><header class="rh-standard-header--component" ><div class="rh-standard-header-container"><h2 class="rh-standard-header-headline-medium pfe-jump-links-panel__section" id="what-does-this-mean-for-your-apis" nav-label="What does this mean for your APIs?" >What does this mean for your APIs?</h2></div></header><!-- Component | Generic --><div class="rh-generic--component" ><p>Finding and describing the value of your API is an iterative process. The first step is describing jobs your users are trying to get done. For example:</p><ul><li>Automatically sending urgent communications to team members in an emergency</li><li>Backing up critical files to ensure they are never lost</li><li>Collecting sample data to detect certain events</li></ul><p>The next step is identifying particular challenges that affect users before, during, or after trying to get a job done:</p><ul><li>Ensuring the reliability of sending with multiple tries, detecting failures, worrying about many messages being sent rather than just one, and integrating with different message delivery systems depending on the location of the user</li><li>Ensuring the safe delivery of files, but also minimizing the amount of transfer bandwidth</li><li>Dealing with massive amounts of data and attempting to correlate it in real time</li></ul><p>The third step is to summarize the potential gains a user could achieve:</p><ul><li>Sending other types of notifications, which create opportunity rather than warn of threat</li><li>Getting rid of other storage equipment if reliability meets your needs</li><li>Automatically triggering actions based on the events</li></ul><p>When examining these pain points, think broadly and list things like support, documentation, or developer portals—everything that a customer could use. Next, outline how you intend to eliminate or reduce some of the things that may be annoying to API users before, during, or after trying to complete a job—or issues that prevent them from doing so. Then describe how you intend to create gains of any sort for your API users.</p><p>Through engaging in this process, our 3 examples above might result in:</p><ul><li>A multichannel messaging API with a single call to deliver messages and the ability to retry automatically until arrival is guaranteed (e.g., Twilio, PagerDuty).</li><li>A storage synchronization API with optimized calls to efficiently check if new versions should be synchronized (e.g., Bitcasa, Box).</li><li>An API aggregating several data sources into a configurable stream, which could be filtered, sampled, and easily manipulated (e.g., GNIP, DataSift).</li></ul><p>Finally, a useful clarification exercise is to compose several statements that make the fit between the API and the user profile clear. If you find it hard to identify such fit statements, then the API model needs to be reconsidered. Maybe there are API features which need to be added, revised, refined, or eliminated. It could also be that your API does offer great value, but you are trying to address the wrong type of users.</p><p>When you condense and abstract your fit statements into one overarching statement, it becomes your value proposition for your APIs. In the case of the messaging API above this might be something like:</p><blockquote><div>Our messaging API provides enterprise developers a reliable, guaranteed, no-latency text messaging functionality for highly-critical business applications. The API is also supported by software development kits (SDKs) covering the most popular programming languages for quick integration.</div></blockquote><p>In some cases you might think “This seems like too much work. We’re just creating an internal API.” However, focussing on value is key, even in internal use cases. A poorly determined value proposition will lead to difficulty pitching the value of the API to other teams. A well-defined value proposition can help ease adoption and make the API program a key contributor to the business.</p><p>To help define your own API program’s value, consider these 5 questions:</p><ol><li><strong>Who is the user?</strong> This question should be answered in terms of their relationship to you (are they existing customers, partners, external developers), their role (are they data scientists, mobile developers, operations people) and their requirements or preferences.</li><li><strong>What user pains are we solving and/or what gains are we creating for the user? </strong>This question should be answered in relationship to the customer’s business, challenges and gains defined by the value proposition, and whether or not a critical need is being fulfilled (is it a pain point, is it a revenue opportunity), and what metric is being improved for the user (speed, revenue, cost saving, being able to do something new).</li><li><strong>Which use cases are supported with your API? </strong>Identify, with the help of the value proposition, the solutions to your user’s challenges or opportunities created by the API that are most effective your organization and the user. Plan your API to address these use cases.</li><li><strong>How can the value for the user be expanded over time? </strong>Plan your value proposition with future changes in mind. What are important upcoming milestones relating to internal or external changes?</li><li><strong>What value is being created for your organization internally? </strong>Consider internal benefits and how the API can be of value within the business.</li></ol></div></div></div> <!-- Subpattern | Article section --> <!-- Group layout --><div class="rh-group--layout" data-rh-layout="stacked" ><div class="rh-group-body" data-rh-layout="min-stacked" ><!-- Component | standard_header --><header class="rh-standard-header--component" ><div class="rh-standard-header-container"><h2 class="rh-standard-header-headline-medium pfe-jump-links-panel__section" id="make-the-business-model-clear" nav-label="Make the business model clear" >Make the business model clear from the beginning</h2></div></header><!-- Component | Generic --><div class="rh-generic--component" ><p>Being able to articulate the value of an API is an important milestone in designing your API-based program. However, APIs also generate cost and this consideration should be balanced by value. While the value may not be measured in monetary terms, it must be real, for example:</p><ul><li>What is the existing core business of the organization?</li><li>How an API can be used to accelerate or augment this business?</li></ul><p>In some cases APIs can lead to entirely new business opportunities outside of the existing business model of an organization. Even in these cases, APIs generally use existing assets or expertise to create opportunities in new ways.</p><p>In summary, there are 3 reasons why determining the right business model is important for designing effective API programs:</p><ol><li>Determining the right business model brings the value of the API to the organization into focus, which drives the decision regarding long-term commitments to the API program. Without that commitment there are rarely resources in place to complete the tasks required for establishing and running an effective API program.</li><li>Determining the right business model helps to define the functionality of the product, which is needed to satisfy third parties and generate business.</li><li>Determining the right business model ensures attention is paid to roles and responsibilities within an organization, and to who retains which parts of the value generated by the API. This also implies defining what users of the API gain from use of the API and how that balances against what the API provider gains.</li></ol></div></div></div> <!-- Subpattern | Article section --> <!-- Group layout --><div class="rh-group--layout" data-rh-layout="stacked" ><div class="rh-group-body" data-rh-layout="min-stacked" ><!-- Component | standard_header --><header class="rh-standard-header--component" ><div class="rh-standard-header-container"><h2 class="rh-standard-header-headline-medium pfe-jump-links-panel__section" id="design-and-implement-for-the-user" nav-label="Design and implement for the user" >Design and implement with the user in mind</h2></div></header><!-- Component | Generic --><div class="rh-generic--component" ><p>Good API design has some core principles, which may differ in implementation. Here’s an analogy: every car has a steering wheel, brake pedals, and an accelerator. You might find that the hazard lights, the trunk release, or radio are slightly different from model to model, but it’s rare that an experienced driver can’t figure out how to drive a rental car.</p><p>This level of “ready-to-drive” design is what great API teams strive for—APIs which require little or no explanation for the experienced practitioner to begin using them.</p><h4><strong>Simplicity</strong></h4><p>Simplicity of API design depends on the context. A particular design may be simple for one use case but very complex for another, so the granularity of API methods must be balanced. It can be useful to think about simplicity on several levels, including:</p><ul><li><strong>Data format.</strong> Support of XML, JSON, proprietary formats, or a combination.</li><li><strong>Method structure.</strong> Methods can be very generic, returning a broad set of data, or very specific to allow for targeted requests. Methods are also usually called in a certain sequence to achieve certain use cases.</li><li><strong>Data model. </strong>The underlying data model can be very similar or very different to what is actually exposed via the API. This has an impact on usability, as well as maintainability.</li><li><strong>Authentication.</strong> Different authentication mechanisms have different strengths and weaknesses. The most suitable one depends on the context.</li><li><strong>Usage policies.</strong> Rights and quotas for developers should be easy to understand and work with.</li></ul></div></div></div> <!-- Subpattern | Article section --> <!-- Group layout --><div class="rh-group--layout" data-rh-layout="stacked" ><div class="rh-group-body" data-rh-layout="min-stacked" ><!-- Component | standard_header --><header class="rh-standard-header--component" ><div class="rh-standard-header-container"><h2 class="rh-standard-header-headline-medium pfe-jump-links-panel__section" id="flexibility" nav-label="Flexibility" >Flexibility</h2></div></header><!-- Component | Generic --><div class="rh-generic--component" ><p>Making an API simple may conflict with making it flexible. An API created with only simplicity in mind runs the risk of becoming overly tailored, serving only very specific use cases, and may not be flexible enough for other use cases.</p><p>To establish flexibility, first find out what the potential space of operations is based on, including the underlying systems and data models, and defining what subset of these operations is feasible and valuable. In order to find the right balance between simplicity and flexibility:</p><ul><li><strong>Try to expose </strong><a href="https://www.threadingbuildingblocks.org/docs/help/tbb_userguide/Atomic_Operations.html"><strong>atomic operations</strong></a><strong>. </strong>By combining atomic operations, the full space can be covered.</li><li><strong>Identify the most common and valuable use cases.</strong> Design a second layer of meta operations that combine several atomic operations to serve these use cases.</li></ul><p>Arguably, the concept of hypermedia as the engine of application state (HATEOAS) can further improve flexibility because it allows runtime changes in the API and in client operations. HATEOAS does increase flexibility by making versioning and documentation easier, however, in API design, many questions must be considered.</p></div></div></div> <!-- Subpattern | Article section --> <!-- Group layout --><div class="rh-group--layout" data-rh-layout="stacked" ><div class="rh-group-body" data-rh-layout="min-stacked" ><!-- Component | standard_header --><header class="rh-standard-header--component" ><div class="rh-standard-header-container"><h2 class="rh-standard-header-headline-medium pfe-jump-links-panel__section" id="questions-for-consideration" nav-label="Questions for consideration" >Critical questions for consideration</h2></div></header><!-- Component | Generic --><div class="rh-generic--component" ><p>In order to think through your API design, consider the following 5 questions:</p><ol><li><strong>Have we designed the API to support our use cases?</strong> The next step after identifying the main use cases is to design the API so that it supports these use cases. Flexibility is important so as not to exclude any use cases that may be less frequent, but should still be supported to allow for innovation.</li><li><strong>Are we being RESTful for the sake of it? </strong><a href="/en/topics/integration/whats-the-difference-between-soap-rest">RESTful APIs</a> are quite fashionable, but you shouldn't follow this trend just for the sake of fashion. There are use cases which are very well suited for it, but there are others that favor other architectural styles, such as <a href="/en/topics/api/what-is-graphql">GraphQL</a>.</li><li><strong>Did we expose our data model without thinking about use cases?</strong> An API should be supported by a layer that abstracts from your actual data model. As a general rule, don’t have an API that goes directly to your database—although there may be cases which require that.</li><li><strong>Which geographic regions are most important and have we planned our datacenters accordingly? </strong>API design must also cover nonfunctional elements, such as latency and availability. Make sure to choose datacenters that are geographically close to where you have most of your users.</li><li><strong>Are we synchronizing the API design with our other products?</strong> If the API is not the sole product of your business, make sure that the API design is coordinated with the design of the other products. It may be that you decide to completely decouple API design from other products. Even if this is the case, plans to decouple API design from other products needs to be made clear and communicated both internally and externally.</li></ol></div></div></div> <!-- Subpattern | Article section --> <!-- Group layout --><div class="rh-group--layout" data-rh-layout="stacked" ><div class="rh-group-body" data-rh-layout="min-stacked" ><!-- Component | standard_header --><header class="rh-standard-header--component" ><div class="rh-standard-header-container"><h2 class="rh-standard-header-headline-medium pfe-jump-links-panel__section" id="developer-experience" nav-label="Developer experience" >Obsess about developer experience</h2></div></header><!-- Component | Generic --><div class="rh-generic--component" ><p>A key metric to improve API design for easy adoption is the “Time to first hello world” (TTFHW). In other words, how long does it take a developer to reach a minimum viable product with your API? This is a great way to put yourself in the shoes of a developer who wants to test your API to see what it takes to get something working.</p><p>When you define the start and end of the TTFHW metric, we recommend covering as many aspects of the developer engagement process as possible. Then optimize it to be as quick and convenient as possible.</p><p>Being able to go through the process quickly also builds developer confidence that the API is well organized, and things are likely to work as expected. Delaying the “success moment” too long risks losing developers.</p><p>In addition to TTFHW, we recommend another metric: "Time to first profitable app" (TTFPA). This is trickier, because “profitable” is a matter of definition, <a href="/en/topics/api/what-is-api-monetization">depending on your API and business strategy</a>. Considering this is helpful because it forces you to think about aspects related to API operations as part of the API program.</p><p>The 2 underlying principles of developer experience are:</p><ol><li><strong>Design a product or service that provides a clear value to developers and addresses a clear challenge or opportunity.</strong> This can be monetary value or some other value, such as a way to increase reach, brand awareness, customer base, indirect sales, reputation for the developer, or simply the joy of using great technology that works.</li><li><strong>The product needs to be easily accessible.</strong> This can include having a lightweight registration mechanism (or none at all), access to testing features, great documentation, and a lot of free and tidy source code.</li></ol><p>We suggest that most API programs should have a developer program—regardless of whether you expose your APIs publicly, to partners only, or internally only. The provisions may be more or less elaborate depending on the audience.</p><h3>Developer portal</h3><p>The developer portal is the key element of a developer program; this is the core entry point for developers to sign up, access, and use your APIs. Getting access to your API should be simple and easy for developers. They should be able to get started quickly.</p><p>TTFHW is the best metric to measure this. You should also consider streamlining the sign-up process—the simpler and quicker, the better. A recommended best practice is that developers should be able to invoke your APIs to examine their behavior (request and response) without any sign-up at all. Also, supplementary content—such as getting started guides, API reference documentation, or source code—are great to lessen the learning curve.</p><h3>Acceleration via ecosystem partners</h3><p>As an API provider you are operating in an ecosystem of partners and vendors. These partners often have their own content distribution and communication networks and means. We recommend identifying alliances, which can be effective in helping to increase the adoption of your API. Often such alliances can be found when APIs are complementary and provide value to developers when combined.</p><h3>Questions to consider to assess your developer experience:</h3><ol><li>How do we explain the value of the API in the first 5 minutes? Develop an “elevator pitch” about the value proposition of your API that best speaks to developers.</li><li>What is our TTFHW and TTFPA and how do we reduce it? This is a powerful way to improve the developer friendliness of your API by thinking about the end-to-end TTFHW. We recommend keeping the TTFHW and TTFPA metrics in mind when considering any elements that are added to the developer experience (like portals), and every aspect of the API that changes.</li><li>What is the onboarding process for developers, and is it as easy as possible? This needs to be in-line with the use cases of your API. The level of security naturally needs to be higher for more sensitive APIs or data access, which probably needs more formal agreements. For everything else it should very simple and straightforward to allow for early developer success (TTFHW).</li><li>Are we allowing enough flexibility to make the API attractive for developers? It’s great if you’ve found the right value proposition, and developers sign up for your API. Keep in mind that helping them to be successful will retain and grow their numbers.</li><li>How do we support developers if they face problems? We believe in the self-service approach, which will help you to scale. Many developer questions can be covered by good documentation, FAQs, or forums. But self-service has its limits, and for more in-depth questions or other complications, like invoice problems, there should be some type of support mechanism in place.</li><li>Can our documentation support innovation? What support is there for developers who deviate from the normal use cases or wish to do something new? Great ideas can come from anywhere.</li></ol><p><rh-cta><a href="/en/resources/api-owners-manual-ebook" title="The API owner's manual e-book" data-analytics-linktype="cta" data-analytics-text="Learn more about Red Hat and API management">Learn more about Red Hat and API management</a></rh-cta></p></div></div></div> </pfe-jump-links-panel> </div> <div class="lg:dx-col-3 lg:dx-col-3 dx-mt-6 lg:dx-mt-0"> <div class="rhdc--aside-promo" id="aside-promo" data-rh-mbox="aside-promo"> <!-- Subpattern | card_flex --> <div class="rh-card--layout card-flex--subpattern " data-rh-card="sections" data-at-card="flex" data-rh-background="white" data-rh-justify="justify" data-rh-layout="stacked" data-rh-theme="light" data-rh-bg-align="cover" > <header class="rh-card-header"> <div class="rh-raw rhdc--aside-promo--tag" > <rh-tag color="purple">Hub</rh-tag> </div> </header> <div class="rh-card-content" data-rh-layout="stacked"> <!-- Subpattern | text_basic --> <!-- Group layout --> <div class="rh-group--layout" data-rh-card="sections" data-at-card="flex" data-rh-layout="stacked" > <div class="rh-group-body" data-rh-layout="min-stacked" > <!-- Component | Band_header --> <div class="rh-band-header--hash-offset" data-rh-hash="true"id="the-official-red-hat-blog"></div><div class="rh-band-header--component" data-rh-align=left ><h2 class="rh-band-header-xs-headline" id="rh-l3x8p">The official Red Hat blog</h2> </div> <!-- Component | Generic --> <div class="rh-generic--component" data-rh-align="left" > <p>Get the latest information about our ecosystem of customers, partners, and communities.</p> </div> </div> </div> </div> <footer class="rh-card-footer" data-rh-layout=""> <!-- Group layout --> <div class="rh-group--layout" > <div class="rh-group-body" > <!-- Component | Cta_multi_basic --> <div class="rh-cta-multi-basic--component" data-rh-align="left" data-rh-display="inline" > <!-- Subpattern | simple_cta --> <!-- Component | CTA --> <span class="rh-cta--component" data-rh-cta-type="secondary" > <a class="rh-cta-link" href="/en/blog" title="The official Red Hat blog" data-analytics-linkType="cta" data-analytics-text="Keep reading" data-analytics-category="Aside promo | The official Red Hat blog" >Keep reading<span aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"> <path d="M31.58 18.24a.64.64 0 0 0-.14-.68l-9-9c-.56-.58-1.47.32-.88.88l7.93 7.94H5a.62.62 0 1 0 0 1.24h24.49l-7.93 7.94a.62.62 0 0 0 .88.88l9-9a.72.72 0 0 0 .14-.2Z"/> </svg> </span></a> </span> </div> </div> </div> </footer> </div> </div> </div> </div> </section> <div class="dx-band rhdc--deluxe-promo" id="deluxe-promo"> <div class="dx-container"> <div class="dx-row"> <div class="md:dx-col-12 xl:dx-col-6"> <!-- Component | Band_header --> <div class="rh-band-header--component" data-rh-align=left data-rh-theme="desaturated" data-rh-margin=standard ><h2 class="rh-band-header-headline" >All Red Hat product trials</h2><div class="rh-band-header-summary">Our no-cost product trials help you gain hands-on experience, prepare for a certification, or assess if a product is right for your organization.</div> </div> <!-- Component | spacer --> <div class="rh-spacer--component" data-rh-vheight="large" > </div> <!-- Component | Cta_multi_basic --> <div class="rh-cta-multi-basic--component" data-rh-align="left" data-rh-display="stacked" > <!-- Subpattern | simple_cta --> <!-- Component | CTA --> <span class="rh-cta--component" data-rh-cta-type="secondary" > <a class="rh-cta-link" href="/en/products/trials" title="All Red Hat product trials" data-analytics-linkType="cta" data-analytics-text="Keep reading" data-analytics-category="Deluxe promo | All Red Hat product trials" >Keep reading<span aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"> <path d="M31.58 18.24a.64.64 0 0 0-.14-.68l-9-9c-.56-.58-1.47.32-.88.88l7.93 7.94H5a.62.62 0 1 0 0 1.24h24.49l-7.93 7.94a.62.62 0 0 0 .88.88l9-9a.72.72 0 0 0 .14-.2Z"/> </svg> </span></a> </span> </div> </div> </div> </div> </div> <section class="dx-band" id="keep-reading"> <div class="dx-container"> <!-- Component | Band_header --> <div class="rh-band-header--component" data-rh-align=left data-rh-margin=standard ><h2 class="rh-band-header-headline" >Keep reading</h2> </div> <div class="dx-row dx-mt-2"> <div class="dx-col-12 dx-mt-2 md:dx-col-4 dx-flex"> <!-- Subpattern | card_flex --> <div class="rh-card--layout card-flex--subpattern dx-w-full" data-at-card="flex" data-rh-background="white" data-rh-justify="justify" data-rh-layout="stacked" data-rh-theme="light" data-rh-bg-align="cover" > <div class="rh-card-content" data-rh-layout="stacked"> <!-- Subpattern | text_basic --> <!-- Group layout --> <div class="rh-group--layout" data-at-card="flex" data-rh-layout="stacked" > <div class="rh-group-body" data-rh-layout="min-stacked" > <!-- Component | Band_header --> <div class="rh-band-header--hash-offset" data-rh-hash="true"id="what-is-application-integration"></div><div class="rh-band-header--component" data-rh-align=left data-rh-theme="desaturated" ><h3 class="rh-band-header-nested-section-headline" id="rh-5g8ay">What is application integration?</h3> </div> <!-- Component | Generic --> <div class="rh-generic--component" data-rh-align="left" > Application integration connects different systems and applications by enabling them to work together through exchanging data and using services. </div> </div> </div> </div> <footer class="rh-card-footer" data-rh-layout=""> <!-- Group layout --> <div class="rh-group--layout" > <div class="rh-group-body" > <!-- Component | Cta_multi_basic --> <div class="rh-cta-multi-basic--component" data-rh-align="left" data-rh-display="inline" > <!-- Subpattern | simple_cta --> <!-- Component | CTA --> <span class="rh-cta--component" data-rh-cta-type="secondary" > <a class="rh-cta-link" href="/en/topics/cloud-native-apps/application-integration" title="article | What is application integration" data-analytics-linkType="cta" data-analytics-text="Read the article" data-analytics-category="Keep reading | article | What is application integration" >Read the article<span aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"> <path d="M31.58 18.24a.64.64 0 0 0-.14-.68l-9-9c-.56-.58-1.47.32-.88.88l7.93 7.94H5a.62.62 0 1 0 0 1.24h24.49l-7.93 7.94a.62.62 0 0 0 .88.88l9-9a.72.72 0 0 0 .14-.2Z"/> </svg> </span></a> </span> </div> </div> </div> </footer> </div> </div> <div class="dx-col-12 dx-mt-2 md:dx-col-4 dx-flex"> <!-- Subpattern | card_flex --> <div class="rh-card--layout card-flex--subpattern dx-w-full" data-at-card="flex" data-rh-background="white" data-rh-justify="justify" data-rh-layout="stacked" data-rh-theme="light" data-rh-bg-align="cover" > <div class="rh-card-content" data-rh-layout="stacked"> <!-- Subpattern | text_basic --> <!-- Group layout --> <div class="rh-group--layout" data-at-card="flex" data-rh-layout="stacked" > <div class="rh-group-body" data-rh-layout="min-stacked" > <!-- Component | Band_header --> <div class="rh-band-header--hash-offset" data-rh-hash="true"id="what-is-middleware"></div><div class="rh-band-header--component" data-rh-align=left data-rh-theme="desaturated" ><h3 class="rh-band-header-nested-section-headline" id="rh-tn525">What is middleware?</h3> </div> <!-- Component | Generic --> <div class="rh-generic--component" data-rh-align="left" > Middleware is software that provides common services and capabilities to applications outside of what’s offered by the operating system. </div> </div> </div> </div> <footer class="rh-card-footer" data-rh-layout=""> <!-- Group layout --> <div class="rh-group--layout" > <div class="rh-group-body" > <!-- Component | Cta_multi_basic --> <div class="rh-cta-multi-basic--component" data-rh-align="left" data-rh-display="inline" > <!-- Subpattern | simple_cta --> <!-- Component | CTA --> <span class="rh-cta--component" data-rh-cta-type="secondary" > <a class="rh-cta-link" href="/en/topics/middleware/what-is-middleware" title="article | what is middleware" data-analytics-linkType="cta" data-analytics-text="Read the article" data-analytics-category="Keep reading | article | what is middleware" >Read the article<span aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"> <path d="M31.58 18.24a.64.64 0 0 0-.14-.68l-9-9c-.56-.58-1.47.32-.88.88l7.93 7.94H5a.62.62 0 1 0 0 1.24h24.49l-7.93 7.94a.62.62 0 0 0 .88.88l9-9a.72.72 0 0 0 .14-.2Z"/> </svg> </span></a> </span> </div> </div> </div> </footer> </div> </div> <div class="dx-col-12 dx-mt-2 md:dx-col-4 dx-flex"> <!-- Subpattern | card_flex --> <div class="rh-card--layout card-flex--subpattern dx-w-full" data-at-card="flex" data-rh-background="white" data-rh-justify="justify" data-rh-layout="stacked" data-rh-theme="light" data-rh-bg-align="cover" > <div class="rh-card-content" data-rh-layout="stacked"> <!-- Subpattern | text_basic --> <!-- Group layout --> <div class="rh-group--layout" data-at-card="flex" data-rh-layout="stacked" > <div class="rh-group-body" data-rh-layout="min-stacked" > <!-- Component | Band_header --> <div class="rh-band-header--hash-offset" data-rh-hash="true"id="why-choose-red-hat-for-middleware"></div><div class="rh-band-header--component" data-rh-align=left data-rh-theme="desaturated" ><h3 class="rh-band-header-nested-section-headline" id="rh-2la7p">Why choose Red Hat for middleware?</h3> </div> <!-- Component | Generic --> <div class="rh-generic--component" data-rh-align="left" > Middleware is software that provides services to applications outside of what’s offered by the operating system. </div> </div> </div> </div> <footer class="rh-card-footer" data-rh-layout=""> <!-- Group layout --> <div class="rh-group--layout" > <div class="rh-group-body" > <!-- Component | Cta_multi_basic --> <div class="rh-cta-multi-basic--component" data-rh-align="left" data-rh-display="inline" > <!-- Subpattern | simple_cta --> <!-- Component | CTA --> <span class="rh-cta--component" data-rh-cta-type="secondary" > <a class="rh-cta-link" href="/en/topics/middleware/why-choose-red-hat-middleware" title="article | why choose red hat for middleware?" data-analytics-linkType="cta" data-analytics-text="Read the article" data-analytics-category="Keep reading | article | why choose red hat for middleware?" >Read the article<span aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"> <path d="M31.58 18.24a.64.64 0 0 0-.14-.68l-9-9c-.56-.58-1.47.32-.88.88l7.93 7.94H5a.62.62 0 1 0 0 1.24h24.49l-7.93 7.94a.62.62 0 0 0 .88.88l9-9a.72.72 0 0 0 .14-.2Z"/> </svg> </span></a> </span> </div> </div> </div> </footer> </div> </div> </div> </div> </section> <section class="dx-band dx-bg-gray-10 rhdc-article--topic-resources" id="topic-resources"> <div class="dx-container rhdc-article--topic-resources"> <!-- Component | Band_header --> <div class="rh-band-header--component" data-rh-align=left data-rh-margin=standard ><h2 class="rh-band-header-headline" >Integration resources</h2> </div> <div class="dx-row dx-mt-2"> <div class="dx-col-12 dx-mt-2 dx-flex md:dx-col-6"> <div class="rh-card--layout dx-w-full rhdc-article--related-content" id="related-content" data-at-card="flex" data-rh-background="white" data-rh-justify="justify" data-rh-layout="stacked" data-rh-theme="light" data-rh-bg-align="cover" > <header class="rh-card-header"> <div class="rh-band-header--component" data-rh-align="left"> <h3 class="rh-band-header-nested-section-headline">Related content</h3> </div> </header> <div class="rh-card-content" data-rh-layout="stacked"> <div class="rh-generic--component" data-rh-align="left"> <ul> <li> <p class="rc-title">Case study</p> <p> <a href="/en/resources/northeast-georgia-health-system-case-study">Northeast Georgia Health System improves uptime for Epic EHR</a> </p> </li> <li> <p class="rc-title">Datasheet</p> <p> <a href="/en/resources/accelerate-enterprise-integration-datasheet">Accelerate enterprise integration</a> </p> </li> <li> <p class="rc-title">Blog post</p> <p> <a href="/en/blog/red-hat-device-edge-industrial-applications-journey-datacenter-plant-floor">Red Hat Device Edge for Industrial Applications: A Journey from Datacenter to Plant Floor</a> </p> </li> <li> <p class="rc-title">Blog post</p> <p> <a href="/en/blog/telenor-offers-slice-5g-edge-ai-apps">Telenor offers a slice of 5G at the edge for AI apps</a> </p> </li> </ul> </div> </div> </div> </div> <div class="dx-col-12 dx-mt-2 dx-flex md:dx-col-6"> <div class="rh-card--layout dx-w-full rhdc-article--related-articles" id="related-articles" data-at-card="flex" data-rh-background="white" data-rh-justify="justify" data-rh-layout="stacked" data-rh-theme="light" data-rh-bg-align="cover" > <header class="rh-card-header"> <div class="rh-band-header--component" data-rh-align="left"> <h3 class="rh-band-header-nested-section-headline">Related articles</h3> </div> </header> <div class="rh-card-content" data-rh-layout="stacked"> <div class="rh-generic--component" data-rh-align="left"> <ul class="rc-list--secondary"> <li> <a href="/en/topics/cloud-native-apps/application-integration">What is application integration?</a> </li> <li> <a href="/en/topics/middleware/what-is-middleware">What is middleware?</a> </li> <li> <a href="/en/topics/integration/what-is-apache-kafka">What is Apache Kafka?</a> </li> <li> <a href="/en/topics/middleware/why-choose-red-hat-middleware">Why choose Red Hat for middleware?</a> </li> <li> <a href="/en/topics/api/what-are-application-programming-interfaces">What is an API?</a> </li> <li> <a href="/en/technologies/cloud-computing/openshift/application-services">Red Hat OpenShift application services</a> </li> <li> <a href="/en/topics/digital-transformation/isv-partners">What is an independent software vendor (ISV)?</a> </li> <li> <a href="/en/topics/integration/what-is-a-kafka-service">What is a Kafka service?</a> </li> <li> <a href="/en/topics/integration/what-is-streaming-data">What is streaming data?</a> </li> <li> <a href="/en/topics/api/banking-api">Do banking APIs benefit from cloud technology?</a> </li> <li> <a href="/en/topics/integration/what-is-a-service-registry">What is a service registry?</a> </li> <li> <a href="/en/topics/integration/what-is-an-event-mesh">What is an event mesh?</a> </li> <li> <a href="/en/topics/integration/what-is-change-data-capture">What is change data capture?</a> </li> <li> <a href="/en/topics/api/why-choose-red-hat-apis">Why Red Hat for APIs?</a> </li> <li> <a href="/en/topics/api/what-is-a-rest-api">What is a REST API?</a> </li> <li> <a href="/en/topics/integration/what-is-event-driven-architecture">What is event-driven architecture?</a> </li> <li> <a href="/en/topics/api/what-is-api-monetization">What is API monetization?</a> </li> <li> <a href="/en/topics/integration/whats-the-difference-between-soap-rest">REST vs. SOAP</a> </li> <li> <a href="/en/topics/integration/why-choose-red-hat-integration">Why choose Red Hat for integration?</a> </li> <li> <a href="/en/topics/api/what-is-api-management">What is API management?</a> </li> <li> <a href="/en/topics/security/api-security">What is API security?</a> </li> <li> <a href="/en/topics/api/what-is-graphql">What is GraphQL?</a> </li> <li> <a href="/en/topics/api/what-does-an-api-gateway-do">What does an API gateway do?</a> </li> <li> <a href="/en/topics/microservices/what-is-a-service-mesh">What's a service mesh?</a> </li> <li> <a href="/en/topics/integration/what-is-integration">What is integration?</a> </li> </ul> </div> </div> <footer class="rh-card-footer" data-rh-layout=""> <!-- Component | CTA --> <span class="rh-cta--component" data-rh-align="left" data-rh-cta-type="secondary" > <a class="rh-cta-link" href="/en/topics/integration" title="More about this topic" data-analytics-linkType="cta" data-analytics-text="More about this topic" data-analytics-category="Topic resources | Related articles" >More about this topic<span aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"> <path d="M31.58 18.24a.64.64 0 0 0-.14-.68l-9-9c-.56-.58-1.47.32-.88.88l7.93 7.94H5a.62.62 0 1 0 0 1.24h24.49l-7.93 7.94a.62.62 0 0 0 .88.88l9-9a.72.72 0 0 0 .14-.2Z"/> </svg> </span></a> </span> </footer> </div> </div> </div> </div> </section> </article> </div> <rh-footer data-analytics-region="page-footer"><a slot="logo" href="/en" data-analytics-category="Footer" data-analytics-text="Logo"><img src="https://static.redhat.com/libs/redhat/brand-assets/2/corp/logo--on-dark.svg" alt="Red Hat logo" loading="lazy" width="135" height="32"/></a><rh-footer-social-link slot="social-links" icon="linkedin"><a href="https://www.linkedin.com/company/red-hat" data-analytics-category="Footer|social-links" data-analytics-text="" data-analytics-region="social-links-exit" >LinkedIn</a></rh-footer-social-link><rh-footer-social-link slot="social-links" icon="youtube"><a href="https://www.youtube.com/user/RedHatVideos" data-analytics-category="Footer|social-links" data-analytics-text="" data-analytics-region="social-links-exit" >YouTube</a></rh-footer-social-link><rh-footer-social-link slot="social-links" icon="facebook"><a href="https://www.facebook.com/redhatinc" data-analytics-category="Footer|social-links" data-analytics-text="" data-analytics-region="social-links-exit" >Facebook</a></rh-footer-social-link><rh-footer-social-link slot="social-links" icon="x"><a href="https://twitter.com/RedHat" data-analytics-category="Footer|social-links" data-analytics-text="X" data-analytics-region="social-links-exit" >X</a></rh-footer-social-link><h3 slot="links" data-analytics-text="Products" >Products</h3><ul slot="links"><li><a href="/en/technologies/linux-platforms/enterprise-linux" data-analytics-category="Footer|Products" data-analytics-text="Red Hat Enterprise Linux" >Red Hat Enterprise Linux</a></li><li><a href="/en/technologies/cloud-computing/openshift" data-analytics-category="Footer|Products" data-analytics-text="Red Hat OpenShift" >Red Hat OpenShift</a></li><li><a href="/en/technologies/management/ansible" data-analytics-category="Footer|Products" data-analytics-text="Red Hat Ansible Automation Platform" >Red Hat Ansible Automation Platform</a></li><li><a href="/en/technologies/cloud-computing/openshift/cloud-services" data-analytics-category="Footer|Products" data-analytics-text="Cloud services" >Cloud services</a></li><li><a href="/en/technologies/all-products" data-analytics-category="Footer|Products" data-analytics-text="See all products" >See all products</a></li></ul><h3 slot="links" data-analytics-text="Tools" >Tools</h3><ul slot="links"><li><a href="/en/services/training-and-certification" data-analytics-category="Footer|Tools" data-analytics-text="Training and certification" >Training and certification</a></li><li><a href="https://www.redhat.com/wapps/ugc/protected/personalInfo.html" data-analytics-category="Footer|Tools" data-analytics-text="My account" >My account</a></li><li><a href="https://access.redhat.com" data-analytics-category="Footer|Tools" data-analytics-text="Customer support" >Customer support</a></li><li><a href="https://developers.redhat.com/" data-analytics-category="Footer|Tools" data-analytics-text="Developer resources" >Developer resources</a></li><li><a href="https://catalog.redhat.com/partners" data-analytics-category="Footer|Tools" data-analytics-text="Find a partner" >Find a partner</a></li><li><a href="https://catalog.redhat.com/" data-analytics-category="Footer|Tools" data-analytics-text="Red Hat Ecosystem Catalog" >Red Hat Ecosystem Catalog</a></li><li><a href="/en/solutions/value-calculator" data-analytics-category="Footer|Tools" data-analytics-text="Red Hat value calculator" >Red Hat value calculator</a></li><li><a href="https://docs.redhat.com/en" data-analytics-category="Footer|Tools" data-analytics-text="Documentation" >Documentation</a></li></ul><h3 slot="links" data-analytics-text="Try buy & sell" >Try, buy, & sell</h3><ul slot="links"><li><a href="/en/products/trials" data-analytics-category="Footer|Try buy & sell" data-analytics-text="Product trial center" >Product trial center</a></li><li><a href="https://marketplace.redhat.com" data-analytics-category="Footer|Try buy & sell" data-analytics-text="Red Hat Marketplace" >Red Hat Marketplace</a></li><li><a href="https://www.redhat.com/en/store" data-analytics-category="Footer|Try buy & sell" data-analytics-text="Red Hat Store" >Red Hat Store</a></li><li><a href="https://www.redhat.com/en/about/japan-buy" data-analytics-category="Footer|Try buy & sell" data-analytics-text="Buy online (Japan)" >Buy online (Japan)</a></li><li><a href="https://cloud.redhat.com/" data-analytics-category="Footer|Try buy & sell" data-analytics-text="Console" >Console</a></li></ul><h3 slot="links" data-analytics-text="Communicate" >Communicate</h3><ul slot="links"><li><a href="/en/contact/sales" data-analytics-category="Footer|Communicate" data-analytics-text="Contact sales" >Contact sales</a></li><li><a href="/en/contact/customer-service" data-analytics-category="Footer|Communicate" data-analytics-text="Contact customer service" >Contact customer service</a></li><li><a href="/en/services/training-and-certification/contact-us" data-analytics-category="Footer|Communicate" data-analytics-text="Contact training" >Contact training</a></li><li><a href="/en/about/social" data-analytics-category="Footer|Communicate" data-analytics-text="Social" >Social</a></li></ul><rh-footer-block slot="main-secondary"><h3 slot="header" data-analytics-text="About Red Hat">About Red Hat</h3><p>We’re the world’s leading provider of enterprise open source solutions—including Linux, cloud, container, and Kubernetes. We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.</p></rh-footer-block><rh-footer-block slot="main-secondary"><h3 slot="header">Select a language</h3><button id="footer-language-toggle"><img src="https://static.redhat.com/libs/redhat/rh-iconfont/4/svg/web-icon-globe.svg" width="21" height="21" alt=""/>English<span class="down"></span></button><div id="footer-language-picker"><ul><li><a href="/zh/topics/api/what-is-api-design" class="language-link" xml:lang="zh" hreflang="zh" data-analytics-category="Footer|Language" data-analytics-text="Chinese" >简体中文</a></li><li><a href="/en/topics/api/what-is-api-design" class="language-link" xml:lang="en" hreflang="en" data-analytics-category="Footer|Language" data-analytics-text="English" >English</a></li><li><a href="/fr/topics/api/what-is-api-design" class="language-link" xml:lang="fr" hreflang="fr" data-analytics-category="Footer|Language" data-analytics-text="French" >Français</a></li><li><a href="/de/topics/api/what-is-api-design" class="language-link" xml:lang="de" hreflang="de" data-analytics-category="Footer|Language" data-analytics-text="German" >Deutsch</a></li><li><a href="/it/topics/api/what-is-api-design" class="language-link" xml:lang="it" hreflang="it" data-analytics-category="Footer|Language" data-analytics-text="Italian" >Italiano</a></li><li><a href="/ja/topics/api/what-is-api-design" class="language-link" xml:lang="ja" hreflang="ja" data-analytics-category="Footer|Language" data-analytics-text="Japanese" >日本語</a></li><li><a href="/ko/topics/api/what-is-api-design" class="language-link" xml:lang="ko" hreflang="ko" data-analytics-category="Footer|Language" data-analytics-text="Korean" >한국어</a></li><li><a href="/pt-br/topics/api/what-is-api-design" class="language-link" xml:lang="pt-br" hreflang="pt-br" data-analytics-category="Footer|Language" data-analytics-text="Portuguese" >Português</a></li><li><a href="/es/topics/api/what-is-api-design" class="language-link" xml:lang="es" hreflang="es" data-analytics-category="Footer|Language" data-analytics-text="Spanish" >Español</a></li></ul></div></rh-footer-block><rh-footer-universal slot="universal"><h3 slot="links-primary" hidden data-analytics-text="Red Hat legal and privacy links" >Red Hat legal and privacy links</h3><ul slot="links-primary" data-analytics-region="page-footer-bottom-primary"><li><a href="/en/about/company" data-analytics-category="Footer|Corporate" data-analytics-text="About Red Hat" >About Red Hat</a></li><li><a href="/en/jobs" data-analytics-category="Footer|Corporate" data-analytics-text="Jobs" >Jobs</a></li><li><a href="/en/events" data-analytics-category="Footer|Corporate" data-analytics-text="Events" >Events</a></li><li><a href="/en/about/office-locations" data-analytics-category="Footer|Corporate" data-analytics-text="Locations" >Locations</a></li><li><a href="/en/contact" data-analytics-category="Footer|Corporate" data-analytics-text="Contact Red Hat" >Contact Red Hat</a></li><li><a href="/en/blog" data-analytics-category="Footer|Corporate" data-analytics-text="Red Hat Blog" >Red Hat Blog</a></li><li><a href="/en/about/our-culture/diversity-equity-inclusion" data-analytics-category="Footer|Corporate" data-analytics-text="" >Diversity, equity, and inclusion</a></li><li><a href="https://coolstuff.redhat.com/" data-analytics-category="Footer|Corporate" data-analytics-text="Cool Stuff Store" >Cool Stuff Store</a></li><li><a href="https://www.redhat.com/en/summit" data-analytics-category="Footer|Corporate" data-analytics-text="Red Hat Summit" >Red Hat Summit</a></li></ul><rh-footer-copyright slot="links-secondary">© 2024 Red Hat, Inc.</rh-footer-copyright><h3 slot="links-secondary" hidden data-analytics-text="Red Hat legal and privacy links" >Red Hat legal and privacy links</h3><ul slot="links-secondary" data-analytics-region="page-footer-bottom-secondary"><li><a href="/en/about/privacy-policy" data-analytics-category="Footer|Red Hat legal and privacy links" data-analytics-text="Privacy statement" >Privacy statement</a></li><li><a href="/en/about/terms-use" data-analytics-category="Footer|Red Hat legal and privacy links" data-analytics-text="Terms of use" >Terms of use</a></li><li><a href="/en/about/all-policies-guidelines" data-analytics-category="Footer|Red Hat legal and privacy links" data-analytics-text="All policies and guidelines" >All policies and guidelines</a></li><li><a href="/en/about/digital-accessibility" data-analytics-category="Footer|Red Hat legal and privacy links" data-analytics-text="Digital accessibility" >Digital accessibility</a></li><li><span id="teconsent"></span></li></ul></rh-footer-universal></rh-footer> <div id="consent_blackbar" style="position: fixed;bottom: 0;width: 100%;z-index: 5;padding: 10px;"></div> <script>if (("undefined" !== typeof _satellite) && ("function" === typeof _satellite.pageBottom)) {_satellite.pageBottom();}</script> <script src="https://js.sentry-cdn.com/676ea2c2d4a147c2834066d24c04a9e4.min.js" crossorigin="anonymous"></script> <script src="/rhdc/system-files/js/js_VmruqKltYK-YRjuHHxGW03LtJtZ3j86GqxS0faxiokA.js?scope=footer&delta=1&language=en&theme=rhdc&include=eJyNUUFywzAI_JAVPyL33nrWIIlIxLJwEU4mv68UezJup532BruwLCApeAsF8kPJ11G-pBZDyNaxKs-DJMvU2LnREWX0gqC4YT4TFh3kb7FKraciiE__KUcRlj7aQUW70hgzO8jnJDzjcEcnaVwuaArcKIISl59UT_Ok8XStT-6JmIpqMpRoPPNEeGAuzIqya7uPPYBMsVjMOPdFN0w5xozfwO7mus6LyVSmegDbjRbHIOGAtRMGpbaJYLAJ1NYEPczkunPjFX6jFOLxLmuhG0qF_Aa3fUArAu95LWqC8BL4Xo4dTazJvleU7WRth3X7wes9r9rm9dytdPZat6_sD3uln-w_40E"></script> <script src="/modules/contrib/webrh/@cpelements/pfe-navigation/dist/pfe-navigation.min.js" type="module"></script> <script src="/themes/custom/rhdc/js/rhdc-set-lang-cookie.js?soejlb" async></script> <script src="/modules/contrib/red_hat_shared_libs/dist/js/lazy-load-esmodule.js?v=2.0.9" type="module"></script> <script src="/rhdc/system-files/js/js_Wnb9xUNOSixuIJBCK1OEAcuMRctBFydKNl9iEeO2bts.js?scope=footer&delta=5&language=en&theme=rhdc&include=eJyNUUFywzAI_JAVPyL33nrWIIlIxLJwEU4mv68UezJup532BruwLCApeAsF8kPJ11G-pBZDyNaxKs-DJMvU2LnREWX0gqC4YT4TFh3kb7FKraciiE__KUcRlj7aQUW70hgzO8jnJDzjcEcnaVwuaArcKIISl59UT_Ok8XStT-6JmIpqMpRoPPNEeGAuzIqya7uPPYBMsVjMOPdFN0w5xozfwO7mus6LyVSmegDbjRbHIOGAtRMGpbaJYLAJ1NYEPczkunPjFX6jFOLxLmuhG0qF_Aa3fUArAu95LWqC8BL4Xo4dTazJvleU7WRth3X7wes9r9rm9dytdPZat6_sD3uln-w_40E"></script> <script src="/modules/contrib/webrh/@patternfly/pfe-jump-links/dist/pfe-jump-links.min.js" type="module"></script> <script src="/modules/contrib/webrh/@patternfly/pfe-clipboard/dist/pfe-clipboard.min.js" type="module"></script> <script src="/modules/contrib/webrh/@patternfly/pfe-readtime/dist/pfe-readtime.min.js" type="module"></script> <script src="/modules/contrib/red_hat_shared_libs/dist/rhds-elements/modules/rh-cta/rh-cta.js" type="module"></script> <script src="/modules/contrib/red_hat_shared_libs/dist/rhds-elements/modules/rh-tag/rh-tag.js" type="module"></script> <script src="/rhdc/system-files/js/js_6Q1QDsz0yKKtrmEXduGDhrZ9SIPEQKG5XBJYlyMi8WY.js?scope=footer&delta=11&language=en&theme=rhdc&include=eJyNUUFywzAI_JAVPyL33nrWIIlIxLJwEU4mv68UezJup532BruwLCApeAsF8kPJ11G-pBZDyNaxKs-DJMvU2LnREWX0gqC4YT4TFh3kb7FKraciiE__KUcRlj7aQUW70hgzO8jnJDzjcEcnaVwuaArcKIISl59UT_Ok8XStT-6JmIpqMpRoPPNEeGAuzIqya7uPPYBMsVjMOPdFN0w5xozfwO7mus6LyVSmegDbjRbHIOGAtRMGpbaJYLAJ1NYEPczkunPjFX6jFOLxLmuhG0qF_Aa3fUArAu95LWqC8BL4Xo4dTazJvleU7WRth3X7wes9r9rm9dytdPZat6_sD3uln-w_40E"></script> <script src="/modules/contrib/webrh/@cpelements/rh-account-dropdown/dist/rh-account-dropdown.min.js" type="module"></script> <script src="/rhdc/system-files/js/js__nSEyz7HPoQEheFuXaA4UPhOPt2XtxnUNZpqTfQlXpA.js?scope=footer&delta=13&language=en&theme=rhdc&include=eJyNUUFywzAI_JAVPyL33nrWIIlIxLJwEU4mv68UezJup532BruwLCApeAsF8kPJ11G-pBZDyNaxKs-DJMvU2LnREWX0gqC4YT4TFh3kb7FKraciiE__KUcRlj7aQUW70hgzO8jnJDzjcEcnaVwuaArcKIISl59UT_Ok8XStT-6JmIpqMpRoPPNEeGAuzIqya7uPPYBMsVjMOPdFN0w5xozfwO7mus6LyVSmegDbjRbHIOGAtRMGpbaJYLAJ1NYEPczkunPjFX6jFOLxLmuhG0qF_Aa3fUArAu95LWqC8BL4Xo4dTazJvleU7WRth3X7wes9r9rm9dytdPZat6_sD3uln-w_40E"></script> <script src="/themes/custom/rh_base_ui/../../../modules/contrib/webrh/@patternfly/pfe-cta/dist/pfe-cta.min.js" type="module"></script> </body> </html>