<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<!-- name="GENERATOR" content="github.com/mmarkdown/mmark Mmark Markdown Processor - mmark.miek.nl" -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" ipr="trust200902" docName="draft-authors-datarightplus-resource-set-common-00" submissionType="independent" category="exp" xml:lang="en" indexInclude="true">

<front>
<title>DataRight+: Common Resource Set</title><seriesInfo value="draft-authors-datarightplus-resource-set-common-00" stream="independent" status="experimental" name="Internet-Draft"/>
<author initials="S." surname="Low" fullname="Stuart Low"><organization>Biza.io</organization><address><postal><street/>
</postal><email>stuart@biza.io</email>
</address></author><date/>
<area>Internet</area>
<workgroup>datarightplus</workgroup>

<abstract>
<t>This is the resource set profile outlining the common endpoints utilised across multiple industries.</t>
</abstract>

<note><name>Notational Conventions</name>
<t>The keywords "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>",  "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as described in <xref target="RFC2119"/>.</t>
</note>

</front>

<middle>

<section anchor="scope"><name>Scope</name>
<t>The scope of this document is intended to be limited to the shared resource server endpoints, and their associated authorisation contexts.</t>
</section>

<section anchor="terminology"><name>Terminology</name>
<t>This specification utilises the various terms outlined within <xref target="DATARIGHTPLUS-ROSETTA"/>.</t>
</section>

<section anchor="providers"><name>Providers</name>
<t>Providers are expected to deliver a set of common resource server endpoints.</t>

<section anchor="authorisation-server"><name>Authorisation Server</name>
<t>In addition to other provisions incorporated within the relevant ecosystem set, the Provider authorisation server <bcp14>SHALL</bcp14>:</t>

<ol spacing="compact">
<li>Support the <xref target="RFC6749"/> <tt>scope</tt> parameter with possible values outlined within <eref target="#name-authorisation-scopes">Authorisation Scopes</eref>;</li>
</ol>

<section anchor="authorisation-scopes"><name>Authorisation Scopes</name>
<t>The Provider authorisation server <bcp14>SHALL</bcp14> utilise the following Data Set Language when seeking authorisation from a Consumer representing an Individual for specific <tt>scope</tt> values:</t>
<table>
<thead>
<tr>
<th><tt>scope</tt> value</th>
<th>Data Set Language</th>
</tr>
</thead>

<tbody>
<tr>
<td><tt>common:customer.basic:read</tt></td>
<td><strong>Name and occupation</strong></td>
</tr>

<tr>
<td/>
<td>Name;</td>
</tr>

<tr>
<td/>
<td>Occupation;</td>
</tr>

<tr>
<td/>
<td/>
</tr>

<tr>
<td><tt>common:customer.detail:read</tt></td>
<td><strong>Contact Details</strong></td>
</tr>

<tr>
<td/>
<td>Phone;</td>
</tr>

<tr>
<td/>
<td>Email address;</td>
</tr>

<tr>
<td/>
<td>Mail address;</td>
</tr>

<tr>
<td/>
<td>Residential address;</td>
</tr>

<tr>
<td/>
<td/>
</tr>
</tbody>
</table><t>The Provider authorisation server <bcp14>SHALL</bcp14> utilise the following Data Set Language when seeking authorisation from a Consumer representing an Entity for specific <tt>scope</tt> values:</t>
<table>
<thead>
<tr>
<th><tt>scope</tt> value</th>
<th>Data Set Language</th>
</tr>
</thead>

<tbody>
<tr>
<td><tt>common:customer.basic:read</tt></td>
<td><strong>Organisation profile</strong></td>
</tr>

<tr>
<td/>
<td>Agent name and role;</td>
</tr>

<tr>
<td/>
<td>Organisation name;</td>
</tr>

<tr>
<td/>
<td>Organisation numbers (ABN or ACN);</td>
</tr>

<tr>
<td/>
<td>Charity status;</td>
</tr>

<tr>
<td/>
<td>Establishment date;</td>
</tr>

<tr>
<td/>
<td>Industry;</td>
</tr>

<tr>
<td/>
<td>Organisation type</td>
</tr>

<tr>
<td/>
<td>Country of registration;</td>
</tr>

<tr>
<td/>
<td/>
</tr>

<tr>
<td><tt>common:customer.detail:read</tt></td>
<td><strong>Organisation contact details</strong></td>
</tr>

<tr>
<td/>
<td>Organisation address;</td>
</tr>

<tr>
<td/>
<td>Mail address;</td>
</tr>

<tr>
<td/>
<td>Phone number;</td>
</tr>

<tr>
<td/>
<td/>
</tr>
</tbody>
</table></section>

<section anchor="overlapping-scope-optimisation"><name>Overlapping Scope Optimisation</name>
<t>Alternative Data Cluster Language <bcp14>SHALL</bcp14> be used for Consumers representing Individuals when pairs of <tt>scope</tt> value are used as follows:</t>
<table>
<thead>
<tr>
<th><tt>scope</tt> pairing</th>
<th>Data Set Language</th>
</tr>
</thead>

<tbody>
<tr>
<td><tt>common:customer.basic:read</tt> and</td>
<td><strong>Name, occupation, contact details</strong></td>
</tr>

<tr>
<td><tt>common:customer.detail:read</tt></td>
<td>Name;</td>
</tr>

<tr>
<td/>
<td>Occupation;</td>
</tr>

<tr>
<td/>
<td>Phone;</td>
</tr>

<tr>
<td/>
<td>Email address;</td>
</tr>

<tr>
<td/>
<td>Mail address;</td>
</tr>

<tr>
<td/>
<td>Residential address;</td>
</tr>

<tr>
<td/>
<td/>
</tr>
</tbody>
</table><t>Alternative Data Cluster Language <bcp14>SHALL</bcp14> be used for Consumers representing Entities when pairs of <tt>scope</tt> value are used as follows:</t>
<table>
<thead>
<tr>
<th><tt>scope</tt> pairing</th>
<th>Data Set Language</th>
</tr>
</thead>

<tbody>
<tr>
<td><tt>common:customer.basic:read</tt> and</td>
<td><strong>Organisation profile and contact details</strong></td>
</tr>

<tr>
<td><tt>common:customer.detail:read</tt></td>
<td>Agent name and role;</td>
</tr>

<tr>
<td/>
<td>Organisation name;</td>
</tr>

<tr>
<td/>
<td>Organisation numbers (ABN or ACN);</td>
</tr>

<tr>
<td/>
<td>Charity status;</td>
</tr>

<tr>
<td/>
<td>Establishment date;</td>
</tr>

<tr>
<td/>
<td>Industry;</td>
</tr>

<tr>
<td/>
<td>Organisation type;</td>
</tr>

<tr>
<td/>
<td>Country of registration;</td>
</tr>

<tr>
<td/>
<td>Organisation address;</td>
</tr>

<tr>
<td/>
<td>Mail address;</td>
</tr>

<tr>
<td/>
<td>Phone number;</td>
</tr>

<tr>
<td/>
<td/>
</tr>
</tbody>
</table></section>
</section>

<section anchor="resource-server"><name>Resource Server</name>
<t>The Provider <bcp14>SHALL</bcp14> make available, as described further in <xref target="DATARIGHTPLUS-REDOCLY-ID1"/> endpoints, the following endpoints where the token is granted the <tt>common:customer.basic:read</tt> scope value:</t>
<table>
<thead>
<tr>
<th>Resource Server Endpoint</th>
<th>Authorisation Scope</th>
<th><tt>x-v</tt></th>
</tr>
</thead>

<tbody>
<tr>
<td><tt>GET /common/customer</tt></td>
<td><tt>common:customer.basic:read</tt></td>
<td><tt>1</tt></td>
</tr>
</tbody>
</table><t>The Provider <bcp14>SHALL</bcp14> make available, as described further in <xref target="DATARIGHTPLUS-REDOCLY-ID1"/> endpoints, the following endpoint where the token is granted the <tt>common:customer.basic:detail</tt> scope value:</t>
<table>
<thead>
<tr>
<th>Resource Server Endpoint</th>
<th>Authorisation Scope</th>
<th><tt>x-v</tt></th>
</tr>
</thead>

<tbody>
<tr>
<td><tt>GET /common/customer/detail</tt></td>
<td><tt>common:customer.basic:detail</tt></td>
<td><tt>1</tt></td>
</tr>
</tbody>
</table><t>The Provider <bcp14>SHALL</bcp14> also deliver the following unauthenticated and generally available endpoints, in accordance with <xref target="DATARIGHTPLUS-REDOCLY-ID1"/>:</t>
<table>
<thead>
<tr>
<th>Resource Server Endpoint</th>
<th><tt>x-v</tt></th>
</tr>
</thead>

<tbody>
<tr>
<td><tt>GET /discovery/outages</tt></td>
<td><tt>1</tt></td>
</tr>

<tr>
<td><tt>GET /discovery/status</tt></td>
<td><tt>1</tt></td>
</tr>
</tbody>
</table></section>
</section>

<section anchor="initiators"><name>Initiators</name>
<t>Initiators <bcp14>SHALL</bcp14> describe the requested <tt>scope</tt> values using the same Data Set Language as Providers, as outlined in <eref target="#name-authorisation-scopes">Authorisation Scopes</eref>.</t>
</section>

<section anchor="acknowledgement"><name>Acknowledgement</name>
<t>The following people contributed to this document:</t>

<ul spacing="compact">
<li>Stuart Low (Biza.io) - Editor</li>
</ul>
<t>We acknowledge the contribution to the <xref target="CDS"/> of the following individuals:</t>

<ul spacing="compact">
<li>James Bligh (Data Standards Body) - Lead Architect for the Consumer Data Right</li>
<li>Mark Verstege (Data Standards Body) - Lead Architect, Banking &amp; Information Security for the Consumer Data Right</li>
<li>Ivan Hosgood (formerly Data Standards Body &amp; ACCC) - Solutions Architect</li>
</ul>
</section>

</middle>

<back>
<references><name>Normative References</name>
<reference anchor="CDS" target="https://consumerdatastandardsaustralia.github.io/standards">
  <front>
    <title>Consumer Data Standards (CDS)</title>
    <author>
      <organization>Data Standards Body (Treasury)</organization>
    </author>
  </front>
</reference>
<reference anchor="DATARIGHTPLUS-REDOCLY-ID1" target="https://datarightplus.github.io/datarightplus-redocly/?v=ID1">
  <front>
    <title>DataRight+: Redocly (ID1)</title>
    <author fullname="Stuart Low" initials="S." surname="Low">
      <organization>Biza.io</organization>
    </author>
    <author fullname="Ben Kolera" initials="B." surname="Kolera">
      <organization>Biza.io</organization>
    </author>
    <author fullname="Wei Cai" initials="W." surname="Cai">
      <organization>Biza.io</organization>
    </author>
  </front>
</reference>
<reference anchor="DATARIGHTPLUS-ROSETTA" target="https://datarightplus.github.io/datarightplus-rosetta/draft-authors-datarightplus-rosetta.html">
  <front>
    <title>DataRight+ Rosetta Stone</title>
    <author fullname="Stuart Low" initials="S." surname="Low">
      <organization>Biza.io</organization>
    </author>
  </front>
</reference>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6749.xml"/>
</references>

</back>

</rfc>
