<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.5 (Ruby 2.6.10) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

<!ENTITY RFC8615 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8615.xml">
<!ENTITY RFC2119 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC8174 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
<!ENTITY RFC9110 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9110.xml">
<!ENTITY RFC9264 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9264.xml">
<!ENTITY RFC6415 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6415.xml">
<!ENTITY RFC8288 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8288.xml">
<!ENTITY RFC8631 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8631.xml">
]>

<?rfc tocindent="yes"?>
<?rfc strict="yes"?>
<?rfc compact="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>

<rfc ipr="trust200902" docName="draft-ietf-httpapi-api-catalog-01" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="api-catalog well-known URI">api-catalog: a well-known URI to help discovery of APIs</title>

    <author initials="K." surname="Smith" fullname="Kevin Smith">
      <organization>Vodafone</organization>
      <address>
        <email>kevin.smith@vodafone.com</email>
        <uri>https://www.vodafone.com</uri>
      </address>
    </author>

    <date />

    <area>IETF</area>
    
    <keyword>internet-draft</keyword>

    <abstract>


<?line 78?>

<t>This document defines the "api-catalog" well-known URI. It is intended to facilitate automated discovery and usage of the APIs published by a given organisation or individual.</t>



    </abstract>

    <note title="About This Document" removeInRFC="true">
      <t>
        The latest revision of this draft can be found at <eref target="https://ietf-wg-httpapi.github.io/api-catalog/draft-ietf-httpapi-api-catalog.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-httpapi-api-catalog/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Building Blocks for HTTP APIs Working Group mailing list (<eref target="mailto:httpapi@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/httpapi/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/httpapi/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/ietf-wg-httpapi/api-catalog"/>.</t>
    </note>


  </front>

  <middle>


<?line 83?>

<section anchor="introduction"><name>Introduction</name>

<t>An organisation or individual may publish Application Programming Interfaces (APIs) to encourage requests for interaction from external parties. Such APIs must be discovered before they may be used - i.e., the external party needs to know what APIs a given publisher exposes, their purpose, any policies for usage, and the endpoint to interact with each APIs. To facilitate automated discovery of this information, and automated usage of the APIs, this document proposes a well-known URI, 'api-catalog', as a location where a Publisher's API endpoints are described in an API catalog document.</t>

<section anchor="terminology"><name>Terminology</name>

<t><list style="symbols">
  <t>'Publisher' - an organisation, company or individual that publishes one or more APIs for usage by external third parties.</t>
</list></t>

</section>
<section anchor="goals"><name>Goals and non-goals</name>

<t>The primary goal is to facilitate the automated discovery of a Publisher's public API endpoints, along with metadata that describes the purpose and usage of each API, by specifying a well-known URI <xref target="RFC8615"/> that returns an API catalog document. The API catalog document is primarily machine-readable to enable automated discovery and usage of APIs, and it may also include links to human-readable documentation.</t>

<t>Non-goals: this document does not mandate paths for API endpoints. i.e., it does not mandate that my_example_api's endpoint should be example.com/.well-known/api-catalog/my_example_api , nor even to be hosted at example.com (although it is not forbidden to do so). This document does not mandate a specific format for the API catalog document, although it does suggest some existing formats and provide a recommendation.</t>

</section>
<section anchor="requirements"><name>Requirements Language</name>

<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED",
"MAY", and "OPTIONAL" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>

</section>
</section>
<section anchor="usage"><name>Using the 'api-catalog' well-known URI</name>
<t>The api-catalog well-known URI is intended for HTTP(S) servers that publish APIs. As the key aim is  to facilitate their discovery and usage, a Publisher supporting this URI:</t>

<t><list style="symbols">
  <t>SHOULD host the /.well-known/api-catalog URI at a predictable location. For example as companies typically own a .com TLD, a predictable location for the company 'example' would be   https://www.example.com/.well-known/api-catalog</t>
  <t>SHALL resolve an HTTP(S) GET request to /.well-known/api-catalog and return an API catalog document, as described in <xref target="API-CATALOG"/></t>
  <t>SHOULD resolve an HTTP(S) HEAD request to /.well-known/api-catalog with a response including a Link header with the relation(s) defined in <xref target="LINK-RELATION"/></t>
</list></t>

</section>
<section anchor="multiple_domains"><name>Accounting for APIs distributed across multiple domains</name>

<t>A Publisher ('example') may have their APIs hosted across multiple domains that they manage: e.g., at example.com, developer.example.com, apis.example.com, apis.example.net etc. They may also use a third party API hosting provider which hosts APIs on a distinct domain.</t>

<t>To account for this scenario, it is recommended that:</t>

<t><list style="symbols">
  <t>the Publisher publish the api-catalog well-known URI at a predictable location, as described above.</t>
  <t>the Publisher also publish the api-catalog well-known URI at each of their API domains e.g. apis.example.com/.well-known/api-catalog, developer.example.com/.well-known/api-catalog etc.</t>
  <t>only one of these locations needs to host the canonical API Catalog document. The other locations SHOULD redirect any requests they receive for /.well-known/api-catalog to that primary location, using HTTP Status Code 308 Permanent Redirect <xref target="RFC9110"/>.</t>
</list></t>

<t>As illustration, if the Publisher's primary API portal is apis.example.com, then apis.example.com/.well-known/api-catalog should be the location to host the API Catalog document. If the Publisher is also the domain authority for example.net, which also hosts a selection of their APIs, then a request to www.example.net/.well-known/api-catalog SHOULD return a redirect as follows.</t>

<t>Clienr request:</t>

<figure><sourcecode type="http-message"><![CDATA[
GET /.well-known/api-catalog HTTP/1.1
User-Agent: curl/7.16.3 libcurl/7.16.3 OpenSSL/0.9.7l zlib/1.2.3
Host: www.example.net
]]></sourcecode></figure>

<t>Server response:</t>

<figure><sourcecode type="http-message"><![CDATA[
HTTP/1.1 308 Permanent Redirect
Content-Type: text/html; charset=UTF-8
Location: http\://apis.example.com/.well-known/api-catalog
Content-Length: 356

<!DOCTYPE HTML>
  <html>
    <head>
      <title>Permanent Redirect</title>
      <meta http-equiv="refresh" content="0; url=https://apis.example.com/.well-known/api-catalog">
    </head>
    <body>
      <p>The document has been moved to <a href=https://apis.example.com/.well-known/api-catalog>https://apis.example.com/.well-known/api-catalog</a>.</p>
    </body>
  </html>

]]></sourcecode></figure>

</section>
<section anchor="INTERNAL-USE"><name>Internal use of api-catalog for private APIs</name>

<t>A Publisher may wish to use the api-catalog well-known URI on their internal network, to signpost authorised users (e.g. company employees) towards internal/private APIs not intended for third-party use. This scenario may incur additional security considerations, as noted in <xref target="security"/></t>

</section>
<section anchor="API-CATALOG"><name>The API Catalog</name>

<t>The API Catalog is a document listing hyperlinks to a Publisher's APIs.</t>

<t>There is no mandated format for the API Catalog document: the Publisher is free to choose any format that supports the automated discovery, and machine (and human) usage of their APIs. However, it is RECOMMENDED to use a linkset <xref target="RFC9264"/> of API endpoints (see <xref target="api-catalog-example-linkset"/> for an example).</t>

<t>The API Catalog document MUST include hyperlinks to API endpoints, and is RECOMMENDED to include useful metadata, such as usage policies, API version information, links to the OpenAPI Specification <xref target="OAS"></xref> definitions for each API, etc. . If the Publisher does not include these metadata directly in the API Catalog document, they SHOULD make that metadata available at the API endpoint URIs they have listed (see <xref target="api-catalog-example-linkset-bookmarks"/> for an example).</t>

<t>Some suitable API Catalog document formats include:</t>

<t><list style="symbols">
  <t>(RECOMMENDED) A linkset <xref target="RFC9264"/> of API endpoints and information to facilitate API usage</t>
  <t>An APIs.json document <xref target="APIsjson"></xref></t>
  <t>API bookmarks that represent an API entry-point URI, which may be followed to discover purpose and usage</t>
  <t>A RESTDesc semantic description for hypermedia APIs <xref target="RESTdesc"></xref></t>
  <t>A Hypertext Application Language document <xref target="HAL"></xref></t>
  <t>An extension to the Schema.org WebAPI type <xref target="WebAPIext"></xref></t>
</list></t>

<t>Appendix A includes example API Catalog documents based on the linkset format.</t>

</section>
<section anchor="LINK-RELATION"><name>Link relations</name>

<t><list style="symbols">
  <t>"item" <xref target="RFC9264"/>. When used in an API Catalog document, the 'item' link relation identifies a target resource that represents a API that is a member of the API Catalog.</t>
  <t>"api-catalog": the 'api-catalog' link relation identifies a target resource that represents a list of APIs of which the context resource is a member.</t>
</list></t>

</section>
<section anchor="CONFORM-RFC8615"><name>Conformance to RFC8615</name>

<t>The requirements in section 3 of <xref target="RFC8615"/> for defining Well-Known Uniform Resource Identifiers are met as follows:</t>

<section anchor="path-prefix"><name>Path prefix</name>

<t>The api-catalog URI SHALL be appended to the /.well-known/ path-prefix for "well-known locations".</t>

</section>
<section anchor="supported-uri-schemes"><name>Supported URI schemes</name>

<t>The api-catalog well-known URI may be used with the HTTP and HTTPS URI schemes.</t>

</section>
<section anchor="registration-of-the-api-catalog-well-known-uri"><name>Registration of the api-catalog well-known URI</name>

<t>See <xref target="IANA"/> considerations below.</t>

</section>
</section>
<section anchor="IANA"><name>IANA Considerations</name>

<section anchor="the-api-catalog-well-known-uri"><name>The api-catalog well-known URI</name>

<t>This specification registers the "api-catalog" well-known URI in the Well-Known URI Registry as defined by <xref target="RFC6415"/> .</t>

<t>URI suffix: api-catalog</t>

<t>Specification document(s):  draft-ietf-httpapi-api-catalog-01</t>

<t>Related information:  The "api-catalog" documents obtained from the same host using the HTTP and HTTPS protocols (using default ports) MUST be identical.</t>

</section>
<section anchor="the-api-catalog-link-relation"><name>The api-catalog link relation</name>

<t>This specification registers the "api-catalog" link relation by following the procedures per section 4.2.2 of <xref target="RFC8288"/></t>

<t><list style="symbols">
  <t>Relation Name:  api-catalog</t>
  <t>Description:  Identifies a catalog of APIs published by the context Publisher.</t>
  <t>Reference:  draft-ietf-httpapi-api-catalog-01</t>
</list></t>

</section>
</section>
<section anchor="security"><name>Security Considerations</name>

<t>For all scenarios: the Publisher SHOULD perform a security and privacy review of the API Catalog prior to deployment, to ensure it does not leak personal, business or other metadata, nor expose any vulnerability related to the APIs listed.</t>

<t>For the internal/private APIs scenario: the Publisher SHOULD take steps to ensure that appropriate access controls are in place to ensure only authorised users access the internal api-catalog well-known URI.</t>

</section>


  </middle>

  <back>


    <references title='Normative References' anchor="sec-normative-references">

&RFC8615;
&RFC2119;
&RFC8174;
&RFC9110;
&RFC9264;
&RFC6415;
&RFC8288;


    </references>

    <references title='Informative References' anchor="sec-informative-references">

<reference anchor="OAS" target="https://spec.openapis.org/oas/latest">
  <front>
    <title>OpenAPI Specification 3.1.0</title>
    <author initials="" surname="Darrel Miller">
      <organization></organization>
    </author>
    <author initials="" surname="Jeremy Whitlock">
      <organization></organization>
    </author>
    <author initials="" surname="Marsh Gardiner">
      <organization></organization>
    </author>
    <author initials="" surname="Mike Ralphson">
      <organization></organization>
    </author>
    <author initials="" surname="Ron Ratovsky">
      <organization></organization>
    </author>
    <author initials="" surname="Uri Sarid">
      <organization></organization>
    </author>
    <date year="2021" month="February" day="15"/>
  </front>
</reference>
<reference anchor="APIsjson" target="http://apisjson.org/format/apisjson_0.16.txt">
  <front>
    <title>APIs.json</title>
    <author initials="" surname="Kin Lane">
      <organization></organization>
    </author>
    <author initials="" surname="Steve Willmott">
      <organization></organization>
    </author>
    <date year="2020" month="September" day="15"/>
  </front>
</reference>
<reference anchor="HAL" target="https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-11">
  <front>
    <title>JSON Hypertext Application Language</title>
    <author initials="" surname="Mike Kelly">
      <organization></organization>
    </author>
    <date year="2020" month="September" day="15"/>
  </front>
</reference>
<reference anchor="RESTdesc" target="http://apisjson.org/format/apisjson_0.16.txt">
  <front>
    <title>RESTdesc</title>
    <author initials="" surname="Ruben Verborgh">
      <organization></organization>
    </author>
    <author initials="" surname="Erik Mannens">
      <organization></organization>
    </author>
    <author initials="" surname="Rick Van de Walle">
      <organization></organization>
    </author>
    <author initials="" surname="Thomas Steiner">
      <organization></organization>
    </author>
    <date year="2023" month="September" day="15"/>
  </front>
</reference>
<reference anchor="WebAPIext" target="https://webapi-discovery.github.io/rfcs/rfc0001.html">
  <front>
    <title>WebAPI type extension</title>
    <author initials="" surname="Mike Ralphson">
      <organization></organization>
    </author>
    <author initials="" surname="Nick Evans">
      <organization></organization>
    </author>
    <date year="2020" month="July" day="08"/>
  </front>
</reference>
&RFC8631;


    </references>


<?line 229?>

<section anchor="api-catalog-example-linkset"><name>Example API Catalog document</name>

<t>This section is informative, and provides and example of an API Catalog document using the RECOMMENDED linkset format.</t>

<section anchor="using-linkset-with-rfc8615-relations"><name>Using Linkset with RFC8615 relations</name>

<t>This example uses the linkset format <xref target="RFC9264"/>, and the following link relations defined in <xref target="RFC8631"/>:</t>

<t><list style="symbols">
  <t>"service-desc", used to link to a description of the API that is primarily intended for machine consumption.</t>
  <t>"service-doc", used to link to API documentation that is primarily intended for human consumption.</t>
  <t>"service-meta", used to link to additional metadata about the API, and is primarily intended for machine consumption.</t>
  <t>"status", used to link to the API status (e.g. API "health" indication etc.) for machine and/or human consumption.</t>
</list></t>

<t>Client request:</t>

<figure><sourcecode type="http-message"><![CDATA[
GET .well-know/api-catalog HTTP/1.1
Host: example.com
Accept: application/linkset+json
]]></sourcecode></figure>

<t>Server response:</t>

<figure><sourcecode type="http-message"><![CDATA[
HTTP/1.1 200 OK
Date: Mon, 01 Jun 2023 00:00:01 GMT
Server: Apache-Coyote/1.1
Content-Type: application/linkset+json
]]></sourcecode></figure>

<figure><artwork><![CDATA[
{
  "linkset": [
  {
    "anchor": "https://developer.example.com/apis/foo_api",
    "service-desc": [
      {
        "href": "https://developer.example.com/apis/foo_api/spec",
        "type": "application/yaml"
      }
    ],
    "status": [
      {
        "href": "https://developer.example.com/apis/foo_api/status",
        "type": "application/json"
      }
    ],
    "service-doc": [
      {
        "href": "https://developer.example.com/apis/foo_api/doc",
        "type": "text/html"
      }
    ],
    "service-meta": [
      {
        "href": "https://developer.example.com/apis/foo_api/policies",
        "type": "text/xml"
      }
    ]
  },
  {
    "anchor": "https://developer.example.com/apis/bar_api",
    "service-desc": [
      {
        "href": "https://developer.example.com/apis/bar_api/spec",
        "type": "application/yaml"
      }
    ],
    "status": [
      {
        "href": "https://developer.example.com/apis/bar_api/status",
       "type": "application/json"
      }
    ],
    "service-doc": [
      {
        "href": "https://developer.example.com/apis/bar_api/doc",
        "type": "text/plain"
      }
    ]
  },
  {
    "anchor": "https://apis.example.net/apis/cantona_api",
    "service-desc": [
      {
        "href": "https://apis.example.net/apis/cantona_api/spec",
        "type": "text/n3"
      }
    ],
    "service-doc": [
      {
        "href": "https://apis.example.net/apis/cantona_api/doc",
        "type": "text/html"
      }
    ]
  }
  ]
}
]]></artwork></figure>

</section>
<section anchor="api-catalog-example-linkset-bookmarks"><name>Using Linkset with bookmarks</name>

<t>This example also uses the linkset format <xref target="RFC9264"/>, listing the API endpoints in an array of bookmarks. Each link shares the same context (the API Catalog) and "item" <xref target="RFC9264"/> link relation (to indicate they are an item in the catalog).The intent is that by following a bookmark link, a machine-client can discover the purpose and usage of each API, hence the document targeted by the bookmark link should support this.</t>

<t>Client request:</t>

<figure><sourcecode type="http-message"><![CDATA[
GET .well-know/api-catalog HTTP/1.1
Host: example.com
Accept: application/linkset+json
]]></sourcecode></figure>

<t>Server response:</t>

<figure><sourcecode type="http-message"><![CDATA[
HTTP/1.1 200 OK
Date: Mon, 01 Jun 2023 00:00:01 GMT
Server: Apache-Coyote/1.1
Content-Type: application/linkset+json
]]></sourcecode></figure>

<figure><artwork><![CDATA[
[
  { "anchor": "https://example.com/.well-known/api-catalog",
    "item": [
      {"href": "https://developer.example.com/apis/foo_api"},
      {"href": "https://developer.example.com/apis/bar_api"}
      {"href": "https://developer.example.com/apis/cantona_api"}
    ]
  }
]
]]></artwork></figure>

</section>
</section>
<section anchor="acknowledgements"><name>Acknowledgements</name>

<t>Thanks to Phil Archer, Ben Bucksch, Sanjay Dalal, Max Maton, Darrel Miller, Mark Nottingham,  Roberto Polli, Rich Salz, Herbert Van De Sompel and Erik Wilde for their suggestions and feedback.</t>

</section>


  </back>

<!-- ##markdown-source:
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
OgAA

-->

</rfc>

