<?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.30 (Ruby 3.4.7) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-zehavi-oauth-rar-metadata-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.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-00"/>
    <author fullname="Yaron Zehavi">
      <organization>Raiffeisen Bank International</organization>
      <address>
        <email>yaron.zehavi@rbinternational.com</email>
      </address>
    </author>
    <date year="2026" month="January" day="07"/>
    <area>Security</area>
    <workgroup>Web Authorization Protocol</workgroup>
    <keyword>RAR</keyword>
    <keyword>Step-up</keyword>
    <keyword>oauth</keyword>
    <abstract>
      <?line 49?>

<t>OAuth 2.0 Rich Authorization Requests (RAR), as defined in <xref target="RFC9396"/>, enables clients to request fine-grained authorization using structured JSON objects. While RAR <xref target="RFC9396"/> standardizes the exchange and handling of authorization details, it does not define a mechanism for clients to discover how to construct valid authorization details types.</t>
      <t>This document defines a machine-readable metadata structure for advertising authorization details type documentation and JSON Schema <xref target="JSON.Schema"/> definitions via OAuth Authorization Server Metadata <xref target="RFC8414"/> and OAuth Resource Server Metadata <xref target="RFC9728"/>.</t>
      <t>In addition, this document defines a new OAuth error code, <tt>insufficient_authorization_details</tt>, enabling resource servers to return actionable authorization details objects to clients.</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 structured, fine-grained authorization, beyond the coarse-grained access offered by simple scopes. This has enabled advanced authorization models across domains, such as open banking &amp; API marketplaces, and is well positioned for authorizing AI agents to perform state-changing actions.</t>
      <t>However, RAR <xref target="RFC9396"/> does not specify how a client discovers the structure of supported authorization_detail types and how to construct syntactically valid authorization details.</t>
      <t>As a result, clients must rely on out-of-band documentation or static ecosystem profiles, limiting interoperability and preventing dynamic client behavior.</t>
      <t>This document addresses this gap by defining:</t>
      <ul spacing="normal">
        <li>
          <t>A metadata structure for authorization details types, containing both human-readable documentation as well as embedded JSON Schema <xref target="JSON.Schema"/> definitions.</t>
        </li>
        <li>
          <t>Discovery through Authorization Server Metadata <xref target="RFC8414"/>, as well as via OAuth 2.0 Protected Resource Metadata <xref target="RFC9728"/>.</t>
        </li>
        <li>
          <t>A standardized error signaling mechanism, allowing resource servers to return an authorization details object, to be included in a new Auth request, in order to accomplish a specific request.</t>
        </li>
      </ul>
      <t>It is up to implementers to decide if their clients <bcp14>MUST</bcp14> learn to construct valid authorization details objects, and if so whether authorization details types metadata should be provided by authorization servers, resource servers or both.</t>
      <t>This document also outlines a solution pattern relieving clients from having to learn how to construct valid authorization details objects, instead providing clients the required authorization_details objects in resource servers' error responses. Clients then include the provided authorization details objects in subsequent OAuth requests.</t>
      <t>This latter option is especially useful, as it enables resource servers to include ephemeral, interaction-specific details in the authorization details object, which are part of the resource domain, such as a risk score, risk profile or an internal interaction identifier.</t>
    </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, either of them or both may be offered in parallel:</t>
      <ul spacing="normal">
        <li>
          <t>Client learns to construct valid authorization details objects from authorization details types metadata provided by authorization servers, resource servers or both.</t>
        </li>
        <li>
          <t>Client obtains authorization details object from resource server's error response, providing an actionable authorization details object, whose inclusion in subsequent OAuth requests is required to accomplish a specific request.</t>
        </li>
      </ul>
      <section anchor="client-learns-to-construct-valid-authorization-details-objects-from-metadata">
        <name>Client learns to construct valid authorization details objects from metadata</name>
        <artwork type="ascii-art"><![CDATA[
                                                +--------------------+
                                                |  Authorization or  |
             +----------+ (B) Metadata Request  |  Resource Server   |
(A) User +---|          |---------------------->|+------------------+|
   Starts|   |          |                       ||    Metadata      ||
   Flow  +-->|  Client  |<----------------------||    Endpoint      ||
             |          | (C) Metadata Response |+------------------+|
             |          |        :              +--------------------+
             |          | (D) Construct RAR
             |          |     Using Metadata
             |          |        :              +--------------------+
             |          | (E) Authorization     |   Authorization    |
             |          |     Request + RAR     |      Server        |
             |          |---------------------->|+------------------+|
             |          |                       ||  Authorization   ||
             |          |<----------------------||    Endpoint      ||
             |          | (F) Authorization Code||                  ||
             |          |        :              |+------------------+|
             |          |        :              |                    |
             |          | (G) Token Request     |+------------------+|
             |          |---------------------->||                  ||
             |          |                       || Token Endpoint   ||
             |          |<----------------------||                  ||
             |          | (H) Access Token      |+------------------+|
             |          |        :              +--------------------+
             |          |        :
             |          | (I) API Call with
             |          |     Access Token      +--------------------+
             |          |---------------------->|                    |
             |          |                       |   Resource Server  |
             |          |<----------------------|                    |
             |          | (J) 200 OK + Resource +--------------------+
             |          |
             +----------+
]]></artwork>
        <t>Figure: Client learns to construct valid authorization details objects from metadata</t>
        <ul spacing="normal">
          <li>
            <t>(A) The user starts the flow.</t>
          </li>
          <li>
            <t>(B-C) The client discovers authorization details type metadata from Authorization Server Metadata <xref target="RFC8414"/>, or from resource server Protected Resource Metadata <xref target="RFC9728"/></t>
          </li>
          <li>
            <t>(D-E) The client constructs a valid authorization details object and makes an OAuth + RAR <xref target="RFC9396"/> request.</t>
          </li>
          <li>
            <t>(F) Authorization server returns authorization code.</t>
          </li>
          <li>
            <t>(G-H) The client exchanges authorization code for access token.</t>
          </li>
          <li>
            <t>(I) The client makes API request with access token.</t>
          </li>
          <li>
            <t>(J) Resource server validates access token and returns successful response.</t>
          </li>
        </ul>
      </section>
      <section anchor="client-obtains-authorization-details-object-from-resource-servers-error-response">
        <name>Client obtains authorization details object from resource server's error response</name>
        <artwork type="ascii-art"><![CDATA[
                                                +--------------------+
             +----------+ (B) API Request       |                    |
             |          |---------------------->|      Resource      |
(A) User +---|          |                       |       Server       |
   Starts|   |          |<----------------------|                    |
   Flow  +-->|  Client  | (C) 403 Forbidden     +--------------------+
             |          |     WWW-Authenticate
             |          |     error="insufficient_authorization_details"
             |          |     + authorization_details
             |          |        :
             |          |        :              +--------------------+
             |          |        :              |   Authorization    |
             |          | (D) Authorization     |      Server        |
             |          |     Request + RAR     |+------------------+|
             |          |---------------------->||                  ||
             |          |                       ||  Authorization   ||
             |          |<----------------------||    Endpoint      ||
             |          | (E) Authorization Code||                  ||
             |          |        :              |+------------------+|
             |          |        :              |                    |
             |          | (G) Token Request     |+------------------+|
             |          |---------------------->||                  ||
             |          |                       || Token Endpoint   ||
             |          |<----------------------||                  ||
             |          | (H) Access Token      |+------------------+|
             |          |        :              +--------------------+
             |          |        :
             |          |        :
             |          | (I) Retry API Call    +--------------------+
             |          |     with Token        |                    |
             |          |---------------------->|      Resource      |
             |          |                       |       Server       |
             |          |<----------------------|                    |
             |          | (J) 200 OK + Resource +--------------------+
             |          |
             +----------+
]]></artwork>
        <t>Figure: Client obtains authorization details object from resource server's error response</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 because the access token does not contain required authorization details. Resource server's response includes a WWW-Authenticate header with the authorization details object requiring approval.</t>
          </li>
          <li>
            <t>(D) The client uses the obtained authorization details object in a new OAuth + RAR <xref target="RFC9396"/> request.</t>
          </li>
          <li>
            <t>(E) Authorization server returns authorization code.</t>
          </li>
          <li>
            <t>(G-H) The client exchanges authorization code for access token.</t>
          </li>
          <li>
            <t>(I) The client makes API request with access token.</t>
          </li>
          <li>
            <t>(J) Resource server validates access token and returns successful response.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="authorization-details-type-metadata">
      <name>Authorization Details Type Metadata</name>
      <section anchor="overview">
        <name>Overview</name>
        <t>This document defines a new metadata attribute, <tt>authorization_details_types_metadata</tt>, which provides documentation and validation information for authorization details types used with Rich Authorization Requests <xref target="RFC9396"/>.</t>
        <t>The new metadata property <bcp14>MAY</bcp14> be published by OAuth authorization servers using Authorization Server Metadata <xref target="RFC8414"/> as well as by Resource Servers using Protected Resource Metadata <xref target="RFC9728"/>.</t>
        <t>Clients <bcp14>MAY</bcp14> use this metadata to dynamically construct valid <tt>authorization_details</tt> objects.</t>
        <t>This document also proposes the existing <tt>authorization_details_types_supported</tt> metadata attributed defined by RAR <xref target="RFC9396"/>, be included in Protected Resource Metadata <xref target="RFC9728"/>.</t>
      </section>
      <section anchor="metadata-location">
        <name>Metadata Location</name>
        <t>The <tt>authorization_details_types_metadata</tt> attribute may be included in:</t>
        <ul spacing="normal">
          <li>
            <t>Authorization Server Metadata <xref target="RFC8414"/>, to describe authorization details types supported by the authorization server. If present, its keys <bcp14>MUST</bcp14> be a subset of the values listed in <tt>authorization_details_types_supported</tt> as defined in <xref target="RFC9396"/>.</t>
          </li>
          <li>
            <t>OAuth 2.0 Protected Resource Metadata <xref target="RFC9728"/>, to describe authorization details types accepted by the protecred resource.</t>
          </li>
        </ul>
      </section>
      <section anchor="metadata-structure">
        <name>Metadata Structure</name>
        <t>The <tt>authorization_details_types_metadata</tt> attribute is a JSON object whose keys are authorization details type identifiers. Each value is an object describing a single authorization details type.</t>
        <artwork><![CDATA[
{
"authorization_details_types_metadata": {
    "type": {
    "version": "...",
    "description": "...",
    "documentation_uri": "...",
    "schema": { },
    "schema_uri": "...",
    "examples": [ ]
    }
}
}
]]></artwork>
        <t>Attributes 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 human-readable 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 human-readable documentation describing the authorization details type.</t>
          </dd>
          <dt>"schema":</dt>
          <dd>
            <t>The <tt>schema</tt> attribute is a JSON Schema document <xref target="JSON.Schema"/> describing a single authorization detail object. The schema <bcp14>MUST</bcp14> validate a single authorization detail object and <bcp14>MUST</bcp14> constrain the <tt>type</tt> attribute to the authorization detail type identifier. This attribute is <bcp14>REQUIRED</bcp14> unless <tt>schema_uri</tt> is specified. If this attribute is present, <tt>schema_uri</tt> <bcp14>MUST NOT</bcp14> be present.</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>
      </section>
      <section anchor="metadata-examples">
        <name>Metadata Examples</name>
        <section anchor="example-rar-metadata-payment-initiation">
          <name>Example RAR Metadata: Payment Initiation</name>
          <artwork><![CDATA[
{
    "authorization_details_types_supported": ["payment_initiation"],
    "authorization_details_types_metadata": {
        "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 detail 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})?$"
                            }
                        },
                        "additionalProperties": false
                    },
                    "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}$"
                            }
                        },
                        "additionalProperties": false
                    },
                    "remittance_information": {
                        "type": "string",
                        "description": "Unstructured remittance information for the payment.",
                        "maxLength": 140
                    }
                },
                "additionalProperties": false
            }
        }
    }
}
]]></artwork>
        </section>
      </section>
    </section>
    <section anchor="resource-server-error-signaling-with-insufficientauthorizationdetails">
      <name>Resource Server Error Signaling with insufficient_authorization_details</name>
      <section anchor="overview-1">
        <name>Overview</name>
        <t>This document defines a new OAuth error code, <tt>insufficient_authorization_details</tt>, for use when access is denied due to missing or insufficient authorization details.</t>
      </section>
      <section anchor="error-definition">
        <name>Error Definition</name>
        <t>The error <bcp14>MUST</bcp14> be conveyed using the <tt>WWW-Authenticate</tt> header and <bcp14>MUST</bcp14> include an <tt>authorization_details</tt> parameter.</t>
      </section>
      <section anchor="authorizationdetails-error-parameter">
        <name>authorization_details Error Parameter</name>
        <t>The parameter <bcp14>MUST</bcp14> contain a JSON object or array, representing the required authorization details, whose inclusion in a subsequent OAuth request is required to satisfy the resource server's requirements for this specific request.
The value <bcp14>MUST</bcp14> be base64url-encoded.</t>
        <artwork><![CDATA[
HTTP/1.1 403 Forbidden
WWW-Authenticate: Bearer error="insufficient_authorization_details",
authorization_details="{base64url-encoded JSON of required RAR}"
]]></artwork>
      </section>
    </section>
    <section anchor="processing-rules">
      <name>Processing Rules</name>
      <section anchor="client-processing-rules">
        <name>Client Processing Rules</name>
        <ul spacing="normal">
          <li>
            <t>Fetch authorization_details_types_metadata from the authorization or resource server's metadata endpoints.</t>
          </li>
          <li>
            <t>Locate schema or retrieve schema_uri.</t>
          </li>
          <li>
            <t>Construct authorization details conforming to the schema.</t>
          </li>
          <li>
            <t>If resource server returns error insufficient_authorization_details, use provided authorization_details in subsequent OAuth request, then provide the obtained token to resource server.</t>
          </li>
        </ul>
      </section>
      <section anchor="authorization-server-processing-rules">
        <name>Authorization Server Processing Rules</name>
        <ul spacing="normal">
          <li>
            <t>Advertise authorization_details_types_metadata in metadata.</t>
          </li>
          <li>
            <t>Validate each authorization detail against schema.</t>
          </li>
          <li>
            <t>Enforce additional semantic checks.</t>
          </li>
          <li>
            <t>Reject missing or invalid details with standard OAuth error semantics.</t>
          </li>
        </ul>
      </section>
      <section anchor="resource-server-processing-rules">
        <name>Resource Server Processing Rules</name>
        <ul spacing="normal">
          <li>
            <t>Advertise authorization_details_types_metadata.</t>
          </li>
          <li>
            <t>Verify tokens against required authorization details.</t>
          </li>
          <li>
            <t>If insufficient, return HTTP 403 with WWW-Authenticate: Bearer error="insufficient_authorization_details".</t>
          </li>
          <li>
            <t>Do not reveal additional sensitive information.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="oauth-20-bearer-token-error-registry">
        <name>OAuth 2.0 Bearer Token Error Registry</name>
        <table>
          <thead>
            <tr>
              <th align="left">Error Code</th>
              <th align="left">Description</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">insufficient_authorization_details</td>
              <td align="left">The request is missing required authorization details or the provided authorization details are insufficient. The resource server <bcp14>SHOULD</bcp14> include the required <tt>authorization_details</tt></td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="oauth-metadata-attribute-registration">
        <name>OAuth Metadata Attribute Registration</name>
        <t>The metadata attribute <tt>authorization_details_types_metadata</tt> is defined for OAuth authorization and resource server metadata, as a JSON object mapping authorization details types to documentation, schema, and examples.</t>
      </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="RFC6749">
        <front>
          <title>The OAuth 2.0 Authorization Framework</title>
          <author fullname="D. Hardt" initials="D." role="editor" surname="Hardt"/>
          <date month="October" year="2012"/>
          <abstract>
            <t>The OAuth 2.0 authorization framework enables a third-party application to obtain limited access to an HTTP service, either on behalf of a resource owner by orchestrating an approval interaction between the resource owner and the HTTP service, or by allowing the third-party application to obtain access on its own behalf. This specification replaces and obsoletes the OAuth 1.0 protocol described in RFC 5849. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="6749"/>
        <seriesInfo name="DOI" value="10.17487/RFC6749"/>
      </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 Postman">
            <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 397?>

<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="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: server.example.com
Content-Type: application/json
Authorization: Bearer eyj... (access token from login)

{
    "type": "payment_initiation",
    "locations": [
        "https://server.example.com/payments"
    ],
    "instructedAmount": {
        "currency": "EUR",
        "amount": "123.50"
    },
    "creditorName": "Merchant A",
    "creditorAccount": {
        "bic": "ABCIDEFFXXX",
        "iban": "DE02100100109307118603"
    }
}
]]></artwork>
        </section>
        <section anchor="resource-server-signals-insufficientauthorizationdetails">
          <name>Resource server signals insufficient_authorization_details</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",
    resource_metadata="https://server.example.com/.well-known/oauth-protected-resource/payments",
    authorization_details=W3sKICAgICJ0eXBlIjogInBheW1lbnRfaW5pdGlhdGlvbiIsCiAgICAibG9jYXRpb25zIjogWwogICAgICAgICJodHRwczovL2V4YW1wbGUuY29tL3BheW1lbnRzIgogICAgXSwKICAgICJpbnN0cnVjdGVkQW1vdW50IjogewogICAgICAgICJjdXJyZW5jeSI6ICJFVVIiLAogICAgICAgICJhbW91bnQiOiAiMTIzLjUwIgogICAgfSwKICAgICJjcmVkaXRvck5hbWUiOiAiTWVyY2hhbnQgQSIsCiAgICAiY3JlZGl0b3JBY2NvdW50IjogewogICAgICAgICJiaWMiOiAiQUJDSURFRkZYWFgiLAogICAgICAgICJpYmFuIjogIkRFMDIxMDAxMDAxMDkzMDcxMTg2MDMiCiAgICB9LAogICAgImludGVyYWN0aW9uSWQiOiAiZjgxZDRmYWUtN2RlYy0xMWQwLWE3NjUtMDBhMGM5MWU2YmY2IiwKCSJyaXNrUHJvZmlsZSI6ICJCLTcxIgp9XQ==
]]></artwork>
          <t>The base64 encoded authorization_details decodes to:</t>
          <artwork><![CDATA[
[{
    "type": "payment_initiation",
    "locations": [
        "https://example.com/payments"
    ],
    "instructedAmount": {
        "currency": "EUR",
        "amount": "123.50"
    },
    "creditorName": "Merchant A",
    "creditorAccount": {
        "bic": "ABCIDEFFXXX",
        "iban": "DE02100100109307118603"
    },
    "interactionId": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
    "riskProfile": "B-71"
}]
]]></artwork>
          <t>Note the resource server has added the ephemeral attributes: <tt>interactionId</tt>, <tt>riskProfile</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 single-use 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: server.example.com
Content-Type: application/json
Authorization: Bearer eyj... (payment approval access token)

{
    "type": "payment_initiation",
    "locations": [
        "https://server.example.com/payments"
    ],
    "instructedAmount": {
        "currency": "EUR",
        "amount": "123.50"
    },
    "creditorName": "Merchant A",
    "creditorAccount": {
        "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>-00</t>
      <ul spacing="normal">
        <li>
          <t>Document creation</t>
        </li>
      </ul>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
    </section>
  </back>
  <!-- ##markdown-source:
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
SynSbrbvK+rgH8ot8qAdqySNLn6YfPc92xORNSgfuZBCkdmKydSkrIkoMCDp
JFQpEh26p823JIdKHcGWihv9CHMYdFIv2Zwsz1mBKKLVVAepoyQti31bvYmK
aL0vLjVuPjuqZAXKzzcnKjPj0F5VHpZWAPKlDHK3ng7u55CU2lm6j1jGtqa6
+0UsxjpANrn5CXq/04lrwYvM14t53sc6mShD2F2kOeCb+od0twMaWdfE4rYg
s5CzknKHWROO7L2++yBnqzU4ZTaLjuO304HmLgK8/YP4ECbTnFMcI+UqKzlV
ffNCUpND8/oGtoBup/BpTwnv5sB9pizFPbwo5SYXOFBxh753jZQHxC7gMrHx
9VGo3phW7g05Z7w4q9BDOtpkT1fhrwoLiU9t0XdAP8eGcaeeYIEnu1PXZskN
qjsjV7aWr2GDlwvoIUA8U35EeQAtVrPZxXQcNfuGAsxzZ5HQ+wJ546EOcmdv
PkhGn+Zz7zI0TNLmySampl+mDmGyFGLRrWsn3UNBP1dWniJLg/Kz0gCqchWb
9ehDPhrNvlJKXvGRTT5XlZ2QZ/X1noS6IqnLrWuUtXTfgII3EEuCnFQB5fYc
EiDo5uiSjKwHlzipYgwq+sGQQG4apG4erbjFQ6HsiU4xp1lPVSrUbBevX5Fb
G8pt6lxRrmBLl9vIarVcKVZathYx1+878q4TrCAdTWIAIGWAcXIMAYhO0odJ
vCGDDx9vB1SOIpPYp5egvRHm9c/ozkNgnqvoQ4l5apJzK6lJGl/VajX2OIc8
OXnC+snEjo1eAM1MH1dcVWETTmTZkx2DyZkkE09Xk9ktnjSP2CzPBmXTZpXd
83Zh6ZQmkSqN1bXas3o6TLZUQWcyjiDuxbaHIsA6v4g1KyWtmlPSHZWuY1Gi
Ymu7tbO7t/f+/fsiOionUNnZra826nX6s7FWf9FovHxeX6uULKOy/lDpsJTW
cKG102RFKZmwMBFJXY+prcXI92zpqzf/uAAYP9pSJTbu1SyxqWEBnXnt+bee
uh1zpGuQTA0pla10lPJQu7MW/tzabvZb22/q4v2W27ry+y1vayA6DbfrtXu8
82xk77sD+HvTdVrhtoNtm053f+Pq4n171F199gX7dG79voRDsHz7dfvW+uLf
HKy+W7/oNG67++fxxepGdLCWwP7S6ss+709vNQ6jrndUt7x3V/b+u+u3ncaN
3XlWR/giD//Kfv9m/KHz7Eqctp7D771371rOQTPXZtDtbDS63lvn2Gk6h2et
LwdX57d6zF465pU1fHfN37dvrOtn0Oec2p913o0vVgcD6N9/e5rO+2Ltjfth
3613195sXaweTcPP4Z1DgvP2/M3O6Xl7r3394aKz1y/iOLoY7sVE8+v23uFO
6/PhTlP9vf5yuGN9Pjzrrx7uHDpy/K2NpP8QfPM+4Ng5qvPORnzakfP8cNX/
/GGnPbzonEdHq233Ylz/fNh5e3vQ2V07ujqPDne2Bof7h88OO+erF8OL1ZZz
+/P26Zsxf38UnL9+c/Nh6IYfJE23D86sz63+aOP921evpNOWyzKm12TlIYwt
8C1aV6VHv/weBvVvSzrXkuZokFy91MLEb6X3smGv97gwXwC7zEbDrpv8xfNn
Zr3O69ZGQzzv9p5n8cZ7nU7ktU7Yfct80ZAj3X80jCM/EmVpCbpSkdM9dVQu
q2+pSmO+cBMTVRncLqvsMjPWZW1KXCKjPjx1kEkfzVm/ymjPMJo9zPDQCQbp
A0R6iRitZa38yQlZwmBibJULHCbSPwqarV1MDvdAmJhSHo6iQlSFVPzzQqFJ
b5iZ4t8B0V9AjWcFRFrQ8xJcCF9W6w06rIZlxYsKzTaH1Y2JDQPf3YSFihlG
eJFzUR4Uz6RR4S8bXQv+mrbgtrkuntkm7/Z65kb95fNndkM01rqNXPksLKXi
kHoq9CppEl1fQM1eOzg0LL3xqnbKFKgXwAS1oMSTHhaGRK6w+yRDxtdNeYG7
sF9VKJFfuTf+F8KNNAmQXgAA

-->

</rfc>
