<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.39 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-zehavi-oauth-rar-metadata-04" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.33.0 -->
  <front>
    <title abbrev="OAuth 2.0 RAR Metadata and Error Signaling">OAuth 2.0 RAR Metadata and Error Signaling</title>
    <seriesInfo name="Internet-Draft" value="draft-zehavi-oauth-rar-metadata-04"/>
    <author fullname="Yaron Zehavi">
      <organization>Raiffeisen Bank International</organization>
      <address>
        <email>yaron.zehavi@rbinternational.com</email>
      </address>
    </author>
    <date year="2026" month="June" day="14"/>
    <area>Security</area>
    <workgroup>Web Authorization Protocol</workgroup>
    <keyword>RAR</keyword>
    <keyword>Step-up</keyword>
    <keyword>oauth</keyword>
    <abstract>
      <?line 50?>

<t>OAuth 2.0 Rich Authorization Requests (RAR) <xref target="RFC9396"/> standardizes the exchange and processing of authorization details but does not define metadata for describing authorization details types.</t>
      <t>This document addresses a practical interoperability challenge regarding authorization details type metadata, allowing clients to dynamically discover metadata instead of relying on out-of-band agreements.
It also standardizes error signaling for cases where insufficient authorization details are provided, and offers structured remediation mechanisms.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://yaron-zehavi.github.io/oauth-rich-authorization-requests-metadata/draft-zehavi-oauth-rar-metadata.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-zehavi-oauth-rar-metadata/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Web Authorization Protocol Working Group mailing list (<eref target="mailto:oauth@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/oauth/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/oauth/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/yaron-zehavi/oauth-rich-authorization-requests-metadata"/>.</t>
    </note>
  </front>
  <middle>
    <?line 57?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>OAuth 2.0 Rich Authorization Requests (RAR) <xref target="RFC9396"/> allows OAuth clients to request detailed and structured authorization, enabling advanced authorization models across domains such as banking and healthcare.</t>
      <t>However, RAR <xref target="RFC9396"/> does not specify how clients discover metadata describing valid authorization details objects. Such metadata and documentation are obtained out-of-band.</t>
      <t>This document defines:</t>
      <ul spacing="normal">
        <li>
          <t>A new authorization server endpoint: <tt>authorization_details_types_metadata_endpoint</tt>, providing authorization details type metadata, including documentation and JSON Schema definitions <xref target="JSON.Schema"/>.</t>
        </li>
        <li>
          <t>A new normative OAuth 2.0 WWW-Authenticate Error Code, for resource servers to indicate <tt>insufficient_authorization_details</tt> as the cause of the error, as well as a <bcp14>RECOMMENDED</bcp14> response body specifying required authorization details types to satisfy the resource's requirements.</t>
        </li>
        <li>
          <t>An <bcp14>OPTIONAL</bcp14> response body attribute that <bcp14>MAY</bcp14> accompany the insufficient_authorization_details error, providing an informative and actionable authorization details object. This object can be used directly in a follow-up OAuth request.</t>
        </li>
        <li>
          <t><bcp14>RECOMMENDED</bcp14> handling of large RAR <xref target="RFC9396"/> authorization details objects when issuing JWT access tokens, to avoid failures due to token sizes exceeding header size restrictions.</t>
        </li>
      </ul>
      <t>Providing actionable authorization details objects in the resource server's error response enables:</t>
      <ul spacing="normal">
        <li>
          <t>Simplification for clients who can directly remediate without learning to construct valid authorization details objects.</t>
        </li>
        <li>
          <t>Support for ephemeral, interaction-specific attributes from the resource server, such as a risk profile or an internal interaction identifier, guiding authorization servers on required authentication strength and consent flows.</t>
        </li>
      </ul>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" 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>
      <?line -18?>

</section>
    <section anchor="protocol-overview">
      <name>Protocol Overview</name>
      <t>There are two main proposed flows:</t>
      <ul spacing="normal">
        <li>
          <t>Client remediates using <strong>metadata of required authorization details types</strong>.</t>
        </li>
        <li>
          <t>Client remediates using <strong>actionable authorization details objects</strong> provided by resource server.</t>
        </li>
      </ul>
      <section anchor="client-remediates-using-metadata-of-required-authorization-details-types">
        <name>Client remediates using metadata of required authorization details types</name>
        <artwork type="ascii-art"><![CDATA[
                                                +---------------------+
             +----------+ (B) API Request       |                     |
             |          |---------------------->|      Resource       |
(A) User +---|          |                       |       Server        |
   Starts|   |          |<----------------------|                     |
   Flow  +-->|          | (C) 403 Forbidden     +---------------------+
             |          |     WWW-Authenticate: Bearer
             |          |     error="insufficient_authorization_details"
             |          |        +
             |          |     HTTP body specifies
             |          |     required authorization_details
             |          |        :
             |          |                       +---------------------+
             |          |        RAR Types      |    Authorization    |
             |          | (D) Metadata Request  |       Server        |
             |          |---------------------->|+-------------------+|
             |          |                       ||     RAR Types     ||
             |          |<----------------------|| Metadata Endpoint ||
             |          | (E) Metadata Response |+-------------------+|
             |          |        :              |                     |
             |          | (F) Construct RAR     |                     |
             |          |     Using Metadata    |                     |
             |          |        :              |                     |
             |          | (G) Authorization     |                     |
             |          |     Request + RAR     |                     |
             |          |---------------------->|+-------------------+|
             |          |                       ||   Authorization   ||
             |          |<----------------------||     Endpoint      ||
             |          | (H) Authorization Code||                   ||
             |          |        :              |+-------------------+|
             |          |        :              |                     |
             |          | (I) Token Request     |+-------------------+|
             |          |---------------------->||                   ||
             |          |                       ||   Token Endpoint  ||
             |          |<----------------------||                   ||
             |          | (J) Access Token      |+-------------------+|
             |          |        :              +---------------------+
             |          |        :
             |          | (K) API Call with
             |          |     Access Token      +---------------------+
             |          |---------------------->|                     |
             |          |                       |   Resource Server   |
             |          |<----------------------|                     |
             |          | (L) 200 OK + Resource +---------------------+
             |          |
             +----------+
]]></artwork>
        <t>Figure: Client remediates using metadata of required authorization details types</t>
        <ul spacing="normal">
          <li>
            <t>(A) The user starts the flow.</t>
          </li>
          <li>
            <t>(B) The client calls an API with an access token.</t>
          </li>
          <li>
            <t>(C) Resource server returns HTTP 403 Forbidden, including a WWW-Authenticate header with error code <tt>insufficient_authorization_details</tt> and in the response body specifies required authorization details types.</t>
          </li>
          <li>
            <t>(D-E) The client consumes authorization details types metadata from authorization server's <tt>authorization_details_types_metadata_endpoint</tt>.</t>
          </li>
          <li>
            <t>(F-G) The client constructs valid authorization details objects and makes an authorization request using RAR <xref target="RFC9396"/>.</t>
          </li>
          <li>
            <t>(H) Authorization server returns authorization code.</t>
          </li>
          <li>
            <t>(I-J) The client exchanges authorization code for access token.</t>
          </li>
          <li>
            <t>(K) The client makes an API request with the (RAR) access token.</t>
          </li>
          <li>
            <t>(L) Resource server validates access token and returns successful response.</t>
          </li>
        </ul>
      </section>
      <section anchor="client-remediates-using-actionable-authorization-details-objects-provided-by-resource-server">
        <name>Client remediates using actionable authorization details objects provided by resource server</name>
        <artwork type="ascii-art"><![CDATA[
                                                +--------------------+
             +----------+ (B) API Request       |                    |
             |          |---------------------->|      Resource      |
(A) User +---|          |                       |       Server       |
   Starts|   |          |<----------------------|                    |
   Flow  +-->|  Client  | (C) 403 Forbidden     +--------------------+
             |          |     WWW-Authenticate: Bearer
             |          |     error="insufficient_authorization_details"
             |          |        +
             |          |     HTTP body provides authorization_details
             |          |        :
             |          |        :              +--------------------+
             |          |        :              |   Authorization    |
             |          | (D) Authorization     |      Server        |
             |          |     Request + RAR     |+------------------+|
             |          |---------------------->||                  ||
             |          |                       ||  Authorization   ||
             |          |<----------------------||    Endpoint      ||
             |          | (E) Authorization Code||                  ||
             |          |        :              |+------------------+|
             |          |        :              |                    |
             |          | (F) Token Request     |+------------------+|
             |          |---------------------->||                  ||
             |          |                       || Token Endpoint   ||
             |          |<----------------------||                  ||
             |          | (G) Access Token      |+------------------+|
             |          |        :              +--------------------+
             |          |        :
             |          |        :
             |          | (H) Retry API Call    +--------------------+
             |          |     with Token        |                    |
             |          |---------------------->|      Resource      |
             |          |                       |       Server       |
             |          |<----------------------|                    |
             |          | (I) 200 OK + Resource +--------------------+
             |          |
             +----------+
]]></artwork>
        <t>Figure: Client remediates using actionable authorization details objects provided by resource server</t>
        <ul spacing="normal">
          <li>
            <t>(A) The user starts the flow.</t>
          </li>
          <li>
            <t>(B) The client calls an API with an access token.</t>
          </li>
          <li>
            <t>(C) Resource server returns HTTP 403 Forbidden, including a WWW-Authenticate header with error code <tt>insufficient_authorization_details</tt> and in the response body includes the <strong>required authorization details objects</strong>.</t>
          </li>
          <li>
            <t>(D) The client uses the obtained authorization details objects in a new OAuth + RAR <xref target="RFC9396"/> request.</t>
          </li>
          <li>
            <t>(E) Authorization server returns authorization code.</t>
          </li>
          <li>
            <t>(F-G) The client exchanges authorization code for access token.</t>
          </li>
          <li>
            <t>(H) The client makes an API request with the (RAR) access token.</t>
          </li>
          <li>
            <t>(I) Resource server validates access token and returns successful response.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="authorization-details-types-metadata-endpoint">
      <name>Authorization Details Types Metadata Endpoint</name>
      <t>The following authorization server metadata <xref target="RFC8414"/> parameter is introduced to indicate the server's support for Authorization Details Types Metadata:</t>
      <dl>
        <dt>"authorization_details_types_metadata_endpoint":</dt>
        <dd>
          <t><bcp14>OPTIONAL</bcp14>.  The URL of the Authorization Details Types Metadata endpoint.</t>
        </dd>
      </dl>
      <section anchor="authorization-details-types-metadata-endpoint-response">
        <name>Authorization Details Types Metadata Endpoint Response</name>
        <t>The Authorization Details Types Metadata endpoint is called with HTTP GET and responds with Content-Type <tt>application/json</tt> and a JSON object whose members are authorization details type identifiers.</t>
        <t>Each member value is an object describing a single authorization details type.</t>
        <artwork><![CDATA[
{
  "type": {
    "version": "...",
    "description": "...",
    "documentation_uri": "...",
    "schema": { },
    "schema_uri": "...",
    "examples": [ ]
  }
}
]]></artwork>
        <t>Attribute definition:</t>
        <dl>
          <dt>"version":</dt>
          <dd>
            <t><bcp14>OPTIONAL</bcp14>. String identifying the version of the authorization details type definition. The value is informational and does not imply semantic version negotiation.</t>
          </dd>
          <dt>"description":</dt>
          <dd>
            <t><bcp14>OPTIONAL</bcp14>. String containing a description of the authorization details type. Clients <bcp14>MUST NOT</bcp14> rely on this value for authorization or validation decisions.</t>
          </dd>
          <dt>"documentation_uri":</dt>
          <dd>
            <t><bcp14>OPTIONAL</bcp14>. URI referencing external documentation describing the authorization details type.</t>
          </dd>
          <dt>"schema":</dt>
          <dd>
            <t>The <tt>schema</tt> attribute contains a JSON Schema document <xref target="JSON.Schema"/> that describes a single authorization details object. The schema <bcp14>MUST</bcp14> validate exactly one authorization details object and <bcp14>MUST</bcp14> restrict the <tt>type</tt> attribute to the corresponding authorization details type identifier. This attribute is <bcp14>REQUIRED</bcp14> unless <tt>schema_uri</tt> is specified. If present, <tt>schema_uri</tt> <bcp14>MUST NOT</bcp14> be included.</t>
          </dd>
          <dt>"schema_uri":</dt>
          <dd>
            <t>The <tt>schema_uri</tt> attribute is an absolute URI, as defined by RFC 3986 <xref target="RFC3986"/>, referencing a JSON Schema document describing a single authorization details object. The referenced schema <bcp14>MUST</bcp14> satisfy the same requirements as the <tt>schema</tt> attribute. This attribute is <bcp14>REQUIRED</bcp14> unless <tt>schema</tt> is specified. If this attribute is present, <tt>schema</tt> <bcp14>MUST NOT</bcp14> be present.</t>
          </dd>
          <dt>"examples":</dt>
          <dd>
            <t><bcp14>OPTIONAL</bcp14>. An array of example authorization details objects. Examples are non-normative.</t>
          </dd>
        </dl>
        <t>See Examples <xref target="metadata-examples"/> for non-normative response example.</t>
      </section>
    </section>
    <section anchor="resource-server-error-signaling-of-insufficient-authorizationdetails">
      <name>Resource Server Error Signaling of insufficient authorization_details</name>
      <t>This document defines the Bearer authentication error code <tt>insufficient_authorization_details</tt> for use in the <tt>WWW-Authenticate</tt> header field as defined by <xref target="RFC6750"/>.
Resource servers <bcp14>SHOULD</bcp14> return <tt>insufficient_authorization_details</tt> to signal that access is denied due to missing or insufficient authorization details.
The <tt>insufficient_authorization_details</tt> error is intended in cases where the access token is otherwise valid, but the authorization details associated with the token do not satisfy the resource's requirements.
The <tt>insufficient_authorization_details</tt> error <bcp14>MUST NOT</bcp14> be used when the access token is missing, expired, malformed, or otherwise invalid. Existing Bearer authentication error codes are used for those cases.</t>
      <t>Example HTTP response:</t>
      <artwork><![CDATA[
HTTP/1.1 403 Forbidden
WWW-Authenticate: Bearer error="insufficient_authorization_details"
]]></artwork>
      <section anchor="recommended-authorizationdetailstypesrequired-in-response-body">
        <name>RECOMMENDED authorization_details_types_required in response body</name>
        <t>It is <bcp14>RECOMMENDED</bcp14> that resource servers return, alongside the <tt>insufficient_authorization_details</tt> error, an HTTP body of Content-Type <tt>application/json</tt> containing the new attribute: <tt>authorization_details_types_required</tt>. This attribute specifies the required authorization details <strong>types</strong> satisfying resource's RAR <xref target="RFC9396"/> requirements.</t>
        <dl>
          <dt>"authorization_details_types_required":</dt>
          <dd>
            <t><bcp14>RECOMMENDED</bcp14>.  A JSON object that conforms to the syntax described in <xref target="syntax"/> for a <em>required types expression</em>.</t>
          </dd>
        </dl>
        <t>Note: It is <bcp14>RECOMMENDED</bcp14> that <em>authorization_details_types_required</em> specifies ALL acceptable authorization details types combinations, from ALL supported authorization servers.</t>
        <t>Example resource server response with <bcp14>RECOMMENDED</bcp14> <tt>authorization_details_types_required</tt>:</t>
        <artwork><![CDATA[
HTTP/1.1 403 Forbidden
WWW-Authenticate: Bearer error="insufficient_authorization_details"
Content-Type: application/json

{
    "authorization_details_types_required": {
        "oneOf": ["payment_initiation", "payment_approval",
                  "beneficiary_designation"]
    }
}
]]></artwork>
        <section anchor="syntax">
          <name>Required types expression syntax</name>
          <t>The following JSON syntax defines a <strong>required types expression</strong> that describes permitted combinations of required <em>authorization_details</em> types. This expression allows selection operators (oneOf, allOf) and boolean composition (and, or) to be combined in a predictable manner.</t>
          <t>A <strong>required types expression</strong> is a JSON object that <bcp14>MUST</bcp14> contain <strong>exactly</strong> one of the following attributes:</t>
          <ul spacing="normal">
            <li>
              <t>and</t>
            </li>
            <li>
              <t>or</t>
            </li>
            <li>
              <t>oneOf</t>
            </li>
            <li>
              <t>allOf</t>
            </li>
          </ul>
          <t>Attribute definition:</t>
          <dl>
            <dt>"and":</dt>
            <dd>
              <t><bcp14>OPTIONAL</bcp14>.  A non-empty JSON array of <em>required types expressions</em>. When <strong>and</strong> is specified, the expression is satisfied if <strong>all</strong> contained expressions are satisfied.</t>
            </dd>
            <dt>"or":</dt>
            <dd>
              <t><bcp14>OPTIONAL</bcp14>.  A non-empty JSON array of <em>required types expressions</em>. When <strong>or</strong> is specified, the expression is satisfied if <strong>at least one</strong> contained expression is satisfied.</t>
            </dd>
            <dt>"oneOf":</dt>
            <dd>
              <t><bcp14>OPTIONAL</bcp14>.  A non-empty JSON array of strings identifying <tt>authorization_details</tt> types. When <strong>oneOf</strong> is specified, the expression is satisfied if <strong>exactly one</strong> of the listed types is present.</t>
            </dd>
            <dt>"allOf":</dt>
            <dd>
              <t><bcp14>OPTIONAL</bcp14>.  A non-empty JSON array of strings identifying <tt>authorization_details</tt> types. When <strong>allOf</strong> is specified, the expression is satisfied if <strong>all</strong> of the listed types are present.</t>
            </dd>
          </dl>
        </section>
        <section anchor="required-types-expression-examples">
          <name>Required types expression examples</name>
          <section anchor="example-expression-using-and-operator">
            <name>Example expression using "and" operator</name>
            <t>Specifies that the selection <bcp14>MUST</bcp14> include <tt>a</tt> and <tt>b</tt>, <strong>and</strong> one of <tt>c</tt> <strong>or</strong> <tt>d</tt>.</t>
            <artwork><![CDATA[
{
  "and": [
    { "allOf": ["a", "b"] },
    { "oneOf": ["c", "d"] }
  ]
}
]]></artwork>
          </section>
          <section anchor="example-expression-using-or-operator">
            <name>Example expression using "or" operator</name>
            <t>Specifies that the selection <bcp14>MUST</bcp14> include <strong>either</strong> <tt>c</tt> <strong>and</strong> <tt>d</tt>, <strong>or</strong> one of <tt>a</tt> or <tt>b</tt>.</t>
            <artwork><![CDATA[
{
  "or": [
    { "allOf": ["c", "d"] },
    { "oneOf": ["a", "b"] }
  ]
}
]]></artwork>
          </section>
        </section>
      </section>
      <section anchor="optional-actionable-authorizationdetails-in-response-body">
        <name>OPTIONAL actionable authorization_details in response body</name>
        <t>The resource server <bcp14>MAY</bcp14> include, in addition to or instead of the <tt>authorization_details_types_required</tt> attribute, actionable authorization details objects capable of satisfying the resource's requirements.</t>
        <t>Note:</t>
        <ul spacing="normal">
          <li>
            <t>Resource servers <bcp14>SHOULD</bcp14> provide <tt>authorization_details</tt> objects intended to be submitted to the authorization server that issued the access token used for the current (failing) request. This simplifies client and end-user interaction, by continuing with the same authorization server previously used.</t>
          </li>
        </ul>
        <t>HTTP response body definition:</t>
        <dl>
          <dt>"authorization_details":</dt>
          <dd>
            <t><bcp14>OPTIONAL</bcp14>. Array of authorization details objects, matching the format specified in RAR <xref target="RFC9396"/> for the <tt>authorization_details</tt> request parameter.</t>
          </dd>
          <dt>"authorization_hint":</dt>
          <dd>
            <t><bcp14>RECOMMENDED</bcp14>. An opaque string generated by the resource server that enables the client to select an existing access token associated with equivalent authorization details without understanding the semantics of the authorization details object. Clients <bcp14>MUST</bcp14> treat this value as opaque. The value <bcp14>SHOULD</bcp14> be stable only within the context of the same resource server, client, subject, and authorization server. The value <bcp14>MUST NOT</bcp14> reveal sensitive information. The resource server <bcp14>SHALL NOT</bcp14> return this attribute when tokens resulting from the provided <tt>authorization_details</tt> are single-use only.</t>
          </dd>
        </dl>
        <t>Clients <bcp14>MAY</bcp14> use the provided <tt>authorization_details</tt> in a subsequent OAuth request to obtain an access token satisfying the resource's requirements.</t>
        <t>Example resource server response with <bcp14>OPTIONAL</bcp14> <tt>authorization_details</tt>:</t>
        <artwork><![CDATA[
HTTP/1.1 403 Forbidden
WWW-Authenticate: Bearer error="insufficient_authorization_details"
Content-Type: application/json
Cache-Control: no-store

{
  "authorization_details_types_required": {
    "oneOf": ["payment_initiation"]
  },
  "authorization_details": [{
    "type": "payment_initiation",
    "instructed_amount": {
      "currency": "EUR",
      "amount": "100.00"
    },
    "creditor_account": {
      "iban": "DE02120300000000202051"
    }
  }],
  "authorization_hint": "Yb7q3AC5d"
}
]]></artwork>
      </section>
    </section>
    <section anchor="handling-large-rar-objects-when-issuing-access-tokens">
      <name>Handling large RAR objects when issuing access tokens</name>
      <t>RAR <xref target="RFC9396"/> section 9 instructs that authorization servers <bcp14>MUST</bcp14> provide approved RAR objects to resource servers for enforcement. The authorization server <bcp14>MAY</bcp14> add the <tt>authorization_details</tt> attribute to access tokens in JSON Web Token (JWT) format or to token introspection responses.</t>
      <t>Including large RAR objects in JWT access tokens may cause interoperability loss due to token sizes exceeding header size restrictions.</t>
      <t>Authorization servers <bcp14>SHOULD</bcp14> support a configurable <strong>maximum approved RAR objects size threshold</strong>. The size calculation <bcp14>SHOULD</bcp14> be based on the UTF-8 encoded JSON serialization
of the approved <tt>authorization_details</tt> value before JWT signing or encryption. If the size exceeds this threshold, JWT access tokens <bcp14>SHOULD NOT</bcp14> include the <tt>authorization_details</tt> attribute; instead, the authorization server <bcp14>MUST</bcp14> ensure that the resource server can obtain the approved authorization details by another
means, such as token introspection <xref target="RFC7662"/>.</t>
    </section>
    <section anchor="processing-rules">
      <name>Processing Rules</name>
      <section anchor="client-processing-rules">
        <name>Client Processing Rules</name>
        <ul spacing="normal">
          <li>
            <t>When receiving an <tt>insufficient_authorization_details</tt> error, if the response body contains an <tt>authorization_hint</tt> attribute that matches a valid token in the client's possession, the client <bcp14>SHOULD</bcp14> retry the failing request using the matching token.</t>
          </li>
          <li>
            <t>If the response body contains an <tt>authorization_details</tt> attribute, the client <bcp14>MAY</bcp14> include it in a subsequent OAuth request to obtain a token, which it <bcp14>MAY</bcp14> then use to retry the failing endpoint.</t>
          </li>
          <li>
            <t>Otherwise, the client <bcp14>SHOULD</bcp14> use the <tt>authorization_details_types_required</tt> attribute, if provided in the response body:
            </t>
            <ul spacing="normal">
              <li>
                <t>Use the response body to understand which authorization details types satisfy the resource's requirements.</t>
              </li>
              <li>
                <t>If the authorization server metadata contains <tt>authorization_details_types_supported</tt>, the client <bcp14>MAY</bcp14> use it to determine whether the authorization server supports one or more types referenced by <tt>authorization_details_types_required</tt>.</t>
              </li>
              <li>
                <t>Fetch authorization server's <tt>authorization_details_types_metadata_endpoint</tt> to obtain authorization details types metadata and schemas.</t>
              </li>
              <li>
                <t>Use the embedded <tt>schema</tt> value or retrieve the JSON Schema document from <tt>schema_uri</tt>.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Construct authorization details conforming to the schema and include them in a subsequent OAuth request to obtain an access token with which the client <bcp14>MAY</bcp14> retry calling the failing endpoint.</t>
          </li>
        </ul>
      </section>
      <section anchor="resource-server-processing-rules">
        <name>Resource Server Processing Rules</name>
        <ul spacing="normal">
          <li>
            <t>Verify access tokens against required authorization details.</t>
          </li>
          <li>
            <t>When a resource server receives a JWT access token that does not contain an <tt>authorization_details</tt> claim, and authorization details are required for the requested resource, the resource server <bcp14>SHOULD</bcp14> attempt to obtain the authorization details using token introspection <xref target="RFC7662"/>, if introspection is available.</t>
          </li>
          <li>
            <t>If authorization details are missing or insufficient, the resource server <bcp14>SHALL</bcp14> return HTTP 403 with WWW-Authenticate: Bearer error="insufficient_authorization_details".</t>
          </li>
          <li>
            <t>It is <bcp14>RECOMMENDED</bcp14> to also provide an HTTP body with the <tt>authorization_details_types_required</tt> attribute, specifying the required authorization details types to satisfy the resource's requirement. This attribute applies to ALL supported authorization servers.</t>
          </li>
          <li>
            <t>Resource server <bcp14>MAY</bcp14> also provide in the HTTP body, <bcp14>OPTIONAL</bcp14> actionable <tt>authorization_details</tt> objects, intended to be submitted to the authorization server that issued the current access token, which <bcp14>MAY</bcp14> be used directly for remediation in a subsequent OAuth request.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <section anchor="cacheability-and-intermediaries">
        <name>Cacheability and Intermediaries</name>
        <t>HTTP 403 responses with response bodies may be cached or replayed in unexpected contexts.
Resource servers <bcp14>SHOULD</bcp14> mitigate by including the <tt>Cache-Control: no-store</tt> response header.</t>
      </section>
      <section anchor="confidentiality-of-resource-server-provided-authorizationdetails">
        <name>Confidentiality of resource server provided authorization_details</name>
        <t>Resource server providing actionable <tt>authorization_details</tt> <bcp14>SHOULD NOT</bcp14> include sensitive data in those objects. This is consistent with RAR <xref target="RFC9396"/> <tt>authorization_details</tt> OAuth request parameter, representing <strong>request</strong> semantics.</t>
        <t>Confidentiality-preserving <tt>authorization_details</tt> types <bcp14>SHOULD NOT</bcp14> include sensitive data. Instead, the end-user <bcp14>SHOULD</bcp14> provide such information when interacting with the authorization server.</t>
        <t>Alternatively, <tt>authorization_details</tt> <bcp14>MAY</bcp14> refer to specific end-user resources using opaque reference handles (e.g., "account_1a" instead of using explicit IBAN).</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="oauth-20-www-authenticate-error-code-registry">
        <name>OAuth 2.0 WWW-Authenticate Error Code Registry</name>
        <table>
          <thead>
            <tr>
              <th align="left">Error Code</th>
              <th align="left">Error Usage Location</th>
              <th align="left">Change Controller</th>
              <th align="left">Specification Document</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">insufficient_authorization_details</td>
              <td align="left">Resource access error response</td>
              <td align="left">IETF</td>
              <td align="left">RFC XXXX, Section X</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="oauth-authorization-server-metadata-registry">
        <name>OAuth Authorization Server Metadata Registry</name>
        <t>This specification registers the following authorization server metadata parameter in the OAuth Authorization Server Metadata registry:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Metadata Name</th>
              <th align="left">Metadata Description</th>
              <th align="left">Change Controller</th>
              <th align="left">Specification Document</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">authorization_details_types_metadata_endpoint</td>
              <td align="left">URL of the Authorization Details Types Metadata endpoint</td>
              <td align="left">IETF</td>
              <td align="left">RFC XXXX, Section X</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-normative-references">
      <name>Normative References</name>
      <reference anchor="RFC3986">
        <front>
          <title>Uniform Resource Identifier (URI): Generic Syntax</title>
          <author fullname="T. Berners-Lee" initials="T." surname="Berners-Lee"/>
          <author fullname="R. Fielding" initials="R." surname="Fielding"/>
          <author fullname="L. Masinter" initials="L." surname="Masinter"/>
          <date month="January" year="2005"/>
          <abstract>
            <t>A Uniform Resource Identifier (URI) is a compact sequence of characters that identifies an abstract or physical resource. This specification defines the generic URI syntax and a process for resolving URI references that might be in relative form, along with guidelines and security considerations for the use of URIs on the Internet. The URI syntax defines a grammar that is a superset of all valid URIs, allowing an implementation to parse the common components of a URI reference without knowing the scheme-specific requirements of every possible identifier. This specification does not define a generative grammar for URIs; that task is performed by the individual specifications of each URI scheme. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="STD" value="66"/>
        <seriesInfo name="RFC" value="3986"/>
        <seriesInfo name="DOI" value="10.17487/RFC3986"/>
      </reference>
      <reference anchor="RFC6750">
        <front>
          <title>The OAuth 2.0 Authorization Framework: Bearer Token Usage</title>
          <author fullname="M. Jones" initials="M." surname="Jones"/>
          <author fullname="D. Hardt" initials="D." surname="Hardt"/>
          <date month="October" year="2012"/>
          <abstract>
            <t>This specification describes how to use bearer tokens in HTTP requests to access OAuth 2.0 protected resources. Any party in possession of a bearer token (a "bearer") can use it to get access to the associated resources (without demonstrating possession of a cryptographic key). To prevent misuse, bearer tokens need to be protected from disclosure in storage and in transport. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="6750"/>
        <seriesInfo name="DOI" value="10.17487/RFC6750"/>
      </reference>
      <reference anchor="RFC7662">
        <front>
          <title>OAuth 2.0 Token Introspection</title>
          <author fullname="J. Richer" initials="J." role="editor" surname="Richer"/>
          <date month="October" year="2015"/>
          <abstract>
            <t>This specification defines a method for a protected resource to query an OAuth 2.0 authorization server to determine the active state of an OAuth 2.0 token and to determine meta-information about this token. OAuth 2.0 deployments can use this method to convey information about the authorization context of the token from the authorization server to the protected resource.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7662"/>
        <seriesInfo name="DOI" value="10.17487/RFC7662"/>
      </reference>
      <reference anchor="RFC8414">
        <front>
          <title>OAuth 2.0 Authorization Server Metadata</title>
          <author fullname="M. Jones" initials="M." surname="Jones"/>
          <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
          <author fullname="J. Bradley" initials="J." surname="Bradley"/>
          <date month="June" year="2018"/>
          <abstract>
            <t>This specification defines a metadata format that an OAuth 2.0 client can use to obtain the information needed to interact with an OAuth 2.0 authorization server, including its endpoint locations and authorization server capabilities.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8414"/>
        <seriesInfo name="DOI" value="10.17487/RFC8414"/>
      </reference>
      <reference anchor="RFC9396">
        <front>
          <title>OAuth 2.0 Rich Authorization Requests</title>
          <author fullname="T. Lodderstedt" initials="T." surname="Lodderstedt"/>
          <author fullname="J. Richer" initials="J." surname="Richer"/>
          <author fullname="B. Campbell" initials="B." surname="Campbell"/>
          <date month="May" year="2023"/>
          <abstract>
            <t>This document specifies a new parameter authorization_details that is used to carry fine-grained authorization data in OAuth messages.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9396"/>
        <seriesInfo name="DOI" value="10.17487/RFC9396"/>
      </reference>
      <reference anchor="RFC9728">
        <front>
          <title>OAuth 2.0 Protected Resource Metadata</title>
          <author fullname="M.B. Jones" initials="M.B." surname="Jones"/>
          <author fullname="P. Hunt" initials="P." surname="Hunt"/>
          <author fullname="A. Parecki" initials="A." surname="Parecki"/>
          <date month="April" year="2025"/>
          <abstract>
            <t>This specification defines a metadata format that an OAuth 2.0 client or authorization server can use to obtain the information needed to interact with an OAuth 2.0 protected resource.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9728"/>
        <seriesInfo name="DOI" value="10.17487/RFC9728"/>
      </reference>
      <reference anchor="IANA.oauth-parameters" target="https://www.iana.org/assignments/oauth-parameters">
        <front>
          <title>OAuth Parameters</title>
          <author>
            <organization>IANA</organization>
          </author>
        </front>
      </reference>
      <reference anchor="JSON.Schema" target="https://json-schema.org/draft/2020-12/json-schema-core">
        <front>
          <title>JSON Schema: A Media Type for Describing JSON Documents</title>
          <author initials="A." surname="Wright, Ed">
            <organization/>
          </author>
          <author initials="H." surname="Andrews, Ed">
            <organization/>
          </author>
          <author initials="B." surname="Hutton, Ed">
            <organization/>
          </author>
          <author initials="G." surname="Dennis">
            <organization/>
          </author>
          <date year="2022" month="June"/>
        </front>
      </reference>
      <reference anchor="RFC2119">
        <front>
          <title>Key words for use in RFCs to Indicate Requirement Levels</title>
          <author fullname="S. Bradner" initials="S." surname="Bradner"/>
          <date month="March" year="1997"/>
          <abstract>
            <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="2119"/>
        <seriesInfo name="DOI" value="10.17487/RFC2119"/>
      </reference>
      <reference anchor="RFC8174">
        <front>
          <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
          <author fullname="B. Leiba" initials="B." surname="Leiba"/>
          <date month="May" year="2017"/>
          <abstract>
            <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="8174"/>
        <seriesInfo name="DOI" value="10.17487/RFC8174"/>
      </reference>
    </references>
    <?line 455?>

<section anchor="examples">
      <name>Examples</name>
      <t>This section provides non-normative examples of how this specification may be used to support specific use cases.</t>
      <section anchor="metadata-examples">
        <name>Authorization Server Metadata Examples</name>
        <section anchor="example-authorizationdetailstypesmetadataendpoint-response-with-payment-initiation">
          <name>Example authorization_details_types_metadata_endpoint response with Payment Initiation</name>
          <artwork><![CDATA[
HTTP/1.1 200 OK
Content-Type: application/json

{
    "payment_initiation": {
        "version": "1.0",
        "description": "Authorization to initiate a single payment from a payer account to a creditor account.",
        "documentation_uri": "https://example.com/docs/payment-initiation",
        "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "title": "Payment Initiation Authorization Detail",
            "type": "object",
            "required": [
                "type",
                "instructed_amount",
                "creditor_account"
            ],
            "properties": {
                "type": {
                    "const": "payment_initiation",
                    "description": "Authorization details type identifier."
                },
                "actions": {
                    "type": "array",
                    "description": "Permitted actions for this authorization.",
                    "items": {
                        "type": "string",
                        "enum": ["initiate"]
                    },
                    "minItems": 1,
                    "uniqueItems": true
                },
                "instructed_amount": {
                    "type": "object",
                    "description": "Amount and currency of the payment to be initiated.",
                    "required": ["currency", "amount"],
                    "properties": {
                        "currency": {
                            "type": "string",
                            "description": "ISO 4217 currency code.",
                            "pattern": "^[A-Z]{3}$"
                        },
                        "amount": {
                            "type": "string",
                            "description": "Decimal monetary amount represented as a string.",
                            "pattern": "^[0-9]+(\\.[0-9]{1,2})?$"
                        }
                    }
                },
                "creditor_account": {
                    "type": "object",
                    "description": "Account to which the payment will be credited.",
                    "required": ["iban"],
                    "properties": {
                        "iban": {
                            "type": "string",
                            "description": "International Bank Account Number (IBAN).",
                            "pattern": "^[A-Z0-9]{15,34}$"
                        }
                    }
                },
                "remittance_information": {
                    "type": "string",
                    "description": "Unstructured remittance information for the payment.",
                    "maxLength": 140
                }
            }
        }
    }
}
]]></artwork>
        </section>
        <section anchor="example-authorizationdetailstypesmetadataendpoint-response-for-the-norwegian-health-sector-helseid">
          <name>Example authorization_details_types_metadata_endpoint response for the Norwegian Health Sector (HelseID)</name>
          <artwork><![CDATA[
HTTP/1.1 200 OK
Content-Type: application/json

{

    "helseid_authorization": {
        "version": "1.0",
        "description": "Allows the OAuth client to pass organization information to HelseID.",
        "documentation_uri": "https://utviklerportal.nhn.no/informasjonstjenester/helseid/bruksmoenstre-og-eksempelkode/bruk-av-helseid/docs/tekniske-mekanismer/organisasjonsnumre_enmd",
        "schema": {
            "$schema": "http://json-schema.org/draft-07/schema#",
            "title": "Organization numbers for a multi-tenant client",
            "type": "object",
            "properties": {
                "type": {
                    "type": "string",
                    "const": "helseid_autorization"
                },
                "practitioner_role": {
                    "type": "object",
                    "properties": {
                        "organization": {
                            "type": "object",
                            "properties": {
                                "identifier": {
                                    "type": "object",
                                    "properties": {
                                        "system": {
                                            "type": "string"
                                        },
                                        "type": {
                                            "type": "string"
                                        },
                                        "value": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "system",
                                        "type",
                                        "value"
                                    ]
                                }
                            },
                            "required": [
                                "identifier"
                            ]
                        }
                    },
                    "required": [
                        "organization"
                    ]
                }
            },
            "required": [
                "type",
                "practitioner_role"
            ]
        }
    },
    "helseid_trust_framework": {
        "version": "1.0",
        "description": "HelseID Trust Framework Information",
        "documentation_uri": "https://utviklerportal.nhn.no/informasjonstjenester/helseid/bruksmoenstre-og-eksempelkode/bruk-av-helseid/docs/tekniske-mekanismer/trust-framework",
        "schema": {
            "$schema": "http://json-schema.org/draft-07/schema#",
            "description": "Complete Trust Framework structure",
            "documentation_uri": "https://utviklerportal.nhn.no/informasjonstjenester/helseid/bruksmoenstre-og-eksempelkode/bruk-av-helseid/docs/tillitsrammeverk/profil_for_tillitsrammeverkmd",
            "type": "object",
            "properties": {
                "type": {
                    "type": "string",
                    "const": "nhn:tillitsrammeverk:parameters"
                },
                "practitioner": {
                    "type": "object",
                    "properties": {
                        "authorization": {
                            "type": "object",
                            "properties": {
                                "code": {
                                    "type": "string"
                                },
                                "system": {
                                    "type": "string"
                                }
                            },
                            "required": [
                                "code",
                                "system"
                            ]
                        },
                        "legal_entity": {
                            "type": "object",
                            "properties": {
                                "id": {
                                    "type": "string"
                                },
                                "system": {
                                    "type": "string"
                                }
                            },
                            "required": [
                                "id",
                                "system"
                            ]
                        },
                        "point_of_care": {
                            "type": "object",
                            "properties": {
                                "id": {
                                    "type": "string"
                                },
                                "system": {
                                    "type": "string"
                                }
                            },
                            "required": [
                                "id",
                                "system"
                            ]
                        },
                        "department": {
                            "type": "object",
                            "properties": {
                                "id": {
                                    "type": "string"
                                },
                                "system": {
                                    "type": "string"
                                }
                            },
                            "required": [
                                "id",
                                "system"
                            ]
                        }
                    },
                    "required": [
                        "authorization",
                        "legal_entity",
                        "point_of_care",
                        "department"
                    ]
                },
                "care_relationship": {
                    "type": "object",
                    "properties": {
                        "healthcare_service": {
                            "type": "object",
                            "properties": {
                                "code": {
                                    "type": "string"
                                },
                                "system": {
                                    "type": "string"
                                }
                            },
                            "required": [
                                "code",
                                "system"
                            ]
                        },
                        "purpose_of_use": {
                            "type": "object",
                            "properties": {
                                "code": {
                                    "type": "string"
                                },
                                "system": {
                                    "type": "string"
                                }
                            },
                            "required": [
                                "code",
                                "system"
                            ]
                        },
                        "purpose_of_use_details": {
                            "type": "object",
                            "properties": {
                                "code": {
                                    "type": "string"
                                },
                                "system": {
                                    "type": "string"
                                }
                            },
                            "required": [
                                "code",
                                "system"
                            ]
                        },
                        "decision_ref": {
                            "type": "object",
                            "properties": {
                                "id": {
                                    "type": "string"
                                },
                                "user_selected": {
                                    "type": "boolean"
                                }
                            },
                            "required": [
                                "id",
                                "user_selected"
                            ]
                        }
                    },
                    "required": [
                        "healthcare_service",
                        "purpose_of_use",
                        "purpose_of_use_details",
                        "decision_ref"
                    ]
                },
                "patients": {
                    "type": "array",
                    "items": {
                        "type": "object",
                        "properties": {
                            "point_of_care": {
                                "type": "object",
                                "properties": {
                                    "id": {
                                        "type": "string"
                                    },
                                    "system": {
                                        "type": "string"
                                    }
                                },
                                "required": [
                                    "id",
                                    "system"
                                ]
                            },
                            "department": {
                                "type": "object",
                                "properties": {
                                    "id": {
                                        "type": "string"
                                    },
                                    "system": {
                                        "type": "string"
                                    }
                                },
                                "required": [
                                    "id",
                                    "system"
                                ]
                            }
                        },
                        "required": [
                            "point_of_care",
                            "department"
                        ]
                    }
                }
            },
            "required": [
                "type",
                "practitioner",
                "care_relationship",
                "patients"
            ]
        }
    }
}
]]></artwork>
        </section>
      </section>
      <section anchor="resource-server-authorizationdetailstypesrequired-response-examples">
        <name>Resource Server authorization_details_types_required Response Examples</name>
        <section anchor="example-resource-server-authorizationdetailstypesrequired-response-from-payments-resource">
          <name>Example Resource server authorization_details_types_required response from payments resource</name>
          <artwork><![CDATA[
HTTP/1.1 403 Forbidden
WWW-Authenticate: Bearer error="insufficient_authorization_details"
Content-Type: application/json
Cache-Control: no-store

{
    "authorization_details_types_required": {
        "oneOf": ["payment_initiation", "payment_approval",
                  "beneficiary_designation"]
    }
}
]]></artwork>
        </section>
        <section anchor="example-resource-server-authorizationdetailstypesrequired-response-from-the-norwegian-health-sector-helseid">
          <name>Example Resource server authorization_details_types_required response from the Norwegian Health Sector (HelseID)</name>
          <artwork><![CDATA[
HTTP/1.1 403 Forbidden
WWW-Authenticate: Bearer error="insufficient_authorization_details"
Content-Type: application/json
Cache-Control: no-store

{
    "authorization_details_types_required": {
        "allOf": ["helseid_authorization",
                  "nhn:tillitsrammeverk:parameters"]
    }
}
]]></artwork>
        </section>
      </section>
      <section anchor="payment-initiation-with-rar-error-signaling">
        <name>Payment initiation with RAR error signaling</name>
        <section anchor="client-initiates-api-request">
          <name>Client initiates API request</name>
          <t>Client uses access token obtained at login to call payment initiation API</t>
          <artwork><![CDATA[
POST /payments HTTP/1.1
Host: resource.example.com
Content-Type: application/json
Authorization: Bearer eyj... (access token from login)

{
    "type": "payment_initiation",
    "locations": [
        "https://resource.example.com/payments"
    ],
    "instructed_amount": {
        "currency": "EUR",
        "amount": "123.50"
    },
    "creditor_name": "Merchant A",
    "creditor_account": {
        "bic": "ABCIDEFFXXX",
        "iban": "DE02100100109307118603"
    }
}
]]></artwork>
        </section>
        <section anchor="resource-server-signals-insufficientauthorizationdetails-with-actionable-rar-object">
          <name>Resource server signals insufficient_authorization_details with actionable RAR object</name>
          <t>Resource server requires payment approval and responds with:</t>
          <artwork><![CDATA[
HTTP/1.1 403 Forbidden
WWW-Authenticate: Bearer error="insufficient_authorization_details"
Content-Type: application/json
Cache-Control: no-store

{
    "authorization_details": [{
      "type": "payment_initiation",
      "locations": [
          "https://resource.example.com/payments"
      ],
      "instructed_amount": {
          "currency": "EUR",
          "amount": "123.50"
      },
      "creditor_name": "Merchant A",
      "creditor_account": {
          "bic": "ABCIDEFFXXX",
          "iban": "DE02100100109307118603"
      },
      "interaction_id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
      "risk_profile": "B-71"
    }
  ]
}
]]></artwork>
          <t>Note: the resource server has added the ephemeral attributes <tt>interaction_id</tt> and <tt>risk_profile</tt>.</t>
        </section>
        <section anchor="client-initiates-oauth-flow-using-the-provided-authorizationdetails-object">
          <name>Client initiates OAuth flow using the provided authorization_details object</name>
          <t>After user approves the request, client obtains an access token representing the approved payment</t>
        </section>
        <section anchor="client-re-attempts-api-request">
          <name>Client re-attempts API request</name>
          <artwork><![CDATA[
POST /payments HTTP/1.1
Host: resource.example.com
Content-Type: application/json
Authorization: Bearer eyj... (payment approval access token)

{
    "type": "payment_initiation",
    "locations": [
        "https://resource.example.com/payments"
    ],
    "instructed_amount": {
        "currency": "EUR",
        "amount": "123.50"
    },
    "creditor_name": "Merchant A",
    "creditor_account": {
        "bic": "ABCIDEFFXXX",
        "iban": "DE02100100109307118603"
    }
}
]]></artwork>
        </section>
        <section anchor="resource-server-authorizes-the-request">
          <name>Resource server authorizes the request</name>
          <artwork><![CDATA[
HTTP/1.1 201 Accepted
Content-Type: application/json
Cache-Control: no-store

{
    "paymentId": "a81bc81b-dead-4e5d-abff-90865d1e13b1",
    "status": "accepted"
}
]]></artwork>
        </section>
      </section>
    </section>
    <section anchor="document-history">
      <name>Document History</name>
      <t>-04</t>
      <ul spacing="normal">
        <li>
          <t>Moved required authorization details types from resource metadata to resource server's response.</t>
        </li>
        <li>
          <t>Adapted resource server processing rules to reflect error signaling and handling of large RAR payloads.</t>
        </li>
      </ul>
      <t>-03</t>
      <ul spacing="normal">
        <li>
          <t>Added authorization_hint to guide client on token selection and updated client processing rules accordingly</t>
        </li>
        <li>
          <t>Added security consideration on confidentiality of RS-provided authorization_details</t>
        </li>
        <li>
          <t>Added authorization server considerations for handling large RAR objects in JWT access tokens</t>
        </li>
      </ul>
      <t>-02</t>
      <ul spacing="normal">
        <li>
          <t>Defined the required types expression</t>
        </li>
        <li>
          <t>Added Protected Resource Metadata examples</t>
        </li>
      </ul>
      <t>-01</t>
      <ul spacing="normal">
        <li>
          <t>Authorization details moved to HTTP body and made <bcp14>OPTIONAL</bcp14></t>
        </li>
        <li>
          <t>Metadata pointer from resource metadata url, full authorization details types metadata on authorization server new endpoint</t>
        </li>
      </ul>
      <t>-00</t>
      <ul spacing="normal">
        <li>
          <t>Document creation</t>
        </li>
      </ul>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The authors would like to thank the following individuals who contributed ideas, feedback, and wording that helped shape the final specification: Rune Grimstad.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
MFu37rCg5dGWxp6KqFbZ4pUQ3rpPs+tu/yxHZws0dkefLTmWdli8kgU2aksv
oYPsbWxaD2ONWXjrob6qgqqG8JpsUSsrWmtKMJ1FejrBQxP80vRHmnbKPGMn
OCp7pkdlB5YX8Bux3AgxTo6YX91iK6H2aYyuQ8oruDXeT+0gXwJ2wZ0PUgEA
z/Brrxeb8gODpzDNafldxTSmVXzBFicgbae8iJ38k9mrG5+fw+5c7OV9HCCr
AGT6YGxxNZOzi83R0oJYxbBcDZ7PpKwJ291w8bFKfUl8N+TnbniKJkTaMcD9
qR2ir1RZ0+ITmZBfFk1ScO40npzix8y/EmX92F+JUrf8dYjS52B7pGjxfaXI
+rG/UqRueUsU+Yn98aJN2sVO6CS/2/NV15hA00ErzHqacHmFU0yD+ecw+Kd0
fkSgUHax90Upsq9Wf0OLfxOrf54l+GF25NFMfKXMxrG/Umbe9nNQplUC4yuF
1o79lULztr+WIyC/UgAmxuRLossvyRXA+0WnsmpVTUnXVmCp+qNfNnW2dwmK
GPnCPYMa47WbQbGakO/CeLfkK8zBScASC+1chKUJ6h2TyVsJhK7CYIXwWXeg
VgXO9OsorQoQds126JK/sGJqy+qw3arcXSn7or0Uo9ZttSz+LE+daCOXO4be
qM9XamZfqblF61um5o+yLDutt1OUjTq0ibThz4KrSvW6tfL00+bmNN7Aq8T9
lin9yuvG/J6e/LeuzE2rb5XojwZaN3jttPVyCYZWY+bZ63hzVCXgC3Ot/zdX
XrMckv4NfCHiFvdvlesH/8J7mpcwr78o0biFy9KGarYSNlLfQM4JJy9JIis0
CP3dMLnzqrKgvqko7I/B6rq98mu4hWpU+WdxUxbG5wFdvcDSWuaKlgUBDCmx
+erw+IRtGg7X+y+JIRbpjmH6oXXbu+1GFu795gRz/ctwOGRrBfCJUgnu9co+
t6tLG6qCHaKiB0zyXN1azOJzmW1dRmtxg3VhvVtWqHi7fXd4f1nF2wjICRv/
wBP8mHDKdvt1zZqu+vXHgYfdd588Pdjbf/bsxx9/LANUKJ47GtH/Ht8dPdza
evRgdLdcPPeD/mZDUQ5JohVtKpPIr1fnBX/yaqnVCkGKbYUhWi1Zqx+y/e1V
eW4SWf1CGea2BL+Q5LsTfamKQKur20tIfyHxl2y5lgzQhgXaMEEHNigDan3G
4JS8s/7k0ZZ/b+Jy56HPPWdryx857sMH953RyB15j7f4g/HkQXENSSAuTmVK
La31ifOwpmq1+WCG/AJZXb28KV5apoKRVBdqPuUzAC60PlyExWdtgNXnT2wI
zoYNmkde9cMv1Fs1XxcX/TKcvTvBgj5UDkpV5xV2OUNdZ1/pLVGpGlmouFWo
8atotwBzwh1V+LCkLxGDn1PJVeWYtcivqu63oOo0nRcJuHJfdwuvf/M5oO+2
lYbatgMSNu6jrbEH/3d87vrOPX7fd9zxZOI8Hj16cN/f4lt3x1uFz5anbpoJ
6qnAs0rcm3JXzwOc+rrXc0b3sJrqD8RprUpWkuVm5JIp6lWtUk9FLKVjgiUo
d313blc1tYoE6uKuSRZyVe9+Qt8pKRnMJMqmukx/PLHKyQPOwtj1sbqUM7rb
o/mqQguLZ+P45xmWz9MSKdKF5M2XlXCebO7Td1BUqwqYSKYJFjcMr81sungk
KxSPxBm8anXFo2NnSUHF2kWYkujFypV4PXja/AWDujL7iKptRNWe+gxwoWxp
+WNdBppXCagnqk5pOCcvRmaCEs5oi3ahlpJmRG54V9wUXkWUz1zYFV13FKnS
VIyLSak10V6WhAM2ycD3aVWPOS7XbVYYxW+p6hv9uIAR4UazjIffpKESYcBI
u95FFF+F3D8nAdt7vyOvaXP/j/0J2Mm8r77kKCcCCzbOQp+FwYX6VDqWjyjW
zAsiPwBiyNDKvprGVPpT6nQfqya5+ElQzn0s4CZrCl9J8pPlU8G3nSMBTt25
rBgNO4rfpbFrtO2woyzi7LskmIGU8Ie9/wdZAOU4qbEAAA==

-->

</rfc>
