├── reviews ├── 2021-05 │ ├── analysis │ │ ├── analysis-fapi-draft06-and-final.md │ │ ├── docs │ │ │ ├── analysis-cds_admin-json-v1.10.0.html │ │ │ └── analysis-cds_full-json-v1.10.0.html │ │ ├── analysis-rfc2119-rfc8174-20210519.md │ │ ├── analysis-par-20210704.md │ │ ├── analysis-fapi-part2-20210621.md │ │ └── analysis-fapi-part1-20210614.md │ ├── raw │ │ ├── rfc2119.txt │ │ ├── rfc8174.txt │ │ ├── docs │ │ │ └── cds_admin.json │ │ └── draft-ietf-oauth-par-01.txt │ ├── README.md │ └── diff │ │ └── diff-rfc2119-rfc8174.txt └── README.md ├── .github └── ISSUE_TEMPLATE │ ├── question-or-clarification-request.md │ ├── a_standards-maintenance-backlog-item.md │ └── b_cx-guidelines-request.md └── README.md /reviews/2021-05/analysis/analysis-fapi-draft06-and-final.md: -------------------------------------------------------------------------------- 1 | # Overview 2 | 3 | # Changes 4 | 5 | ## FAPI Baseline 6 | 7 | ## FAPI Advanced 8 | 9 | # Implementation considerations 10 | 11 | * TBA 12 | 13 | # Recommendations 14 | 15 | * TBA 16 | 17 | # Transitioning the CDR ecosystem 18 | 19 | ## Step 1 20 | 21 | * TBA 22 | 23 | ## Step 2 24 | 25 | * TBA 26 | 27 | ## Step 3 28 | 29 | * TBA 30 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/question-or-clarification-request.md: -------------------------------------------------------------------------------- 1 | # PLEASE NOTE - Superseded request 2 | The Consumer Data Right Support Portal is the preferred way to search for answers, raise questions and request clarification of the standards. 3 | We kindly ask that you raise your questions or clarifications to either [email](mailto:support@cdr-support.zendesk.com) or via the [web form](https://cdr-support.zendesk.com/hc/en-us/requests/new) 4 | 5 | --- 6 | name: Question or clarification request 7 | about: Used to raise a question or request clarification of the standards 8 | title: "[Brief summary of question]" 9 | labels: query 10 | assignees: '' 11 | 12 | --- 13 | 14 | # Request For Clarification 15 | Brief description of the issue that is leading to the change being required 16 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/a_standards-maintenance-backlog-item.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Standards maintenance backlog item 3 | about: Create a new standards maintenance backlog item for consideration by the community 4 | title: "[Descriptive Issue Title]" 5 | labels: change request 6 | assignees: '' 7 | 8 | --- 9 | 10 | # Description 11 | Brief description of the issue that is leading to the change being required. 12 | 13 | # Intention and Value of Change 14 | Please include details on the intended benefit of the change and the value it brings to the requester and ecosystem participants. 15 | 16 | # Area Affected 17 | Describe the area of the standard that is proposed to be amended. This could be one or more API end points or a specific section of the information security profile. 18 | 19 | # Change Proposed 20 | A detailed description of the specific change (or options for change) proposed. The more specific the proposal the easier investigation and consultation on the issue will be. 21 | -------------------------------------------------------------------------------- /reviews/2021-05/analysis/docs/analysis-cds_admin-json-v1.10.0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |
6 | 7 |11 | "description": "Indicate that a critical update to the metadata for Accredited Data Recipients has been made and should be obtained", 12 | "description": "Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If the value of [x-min-v](#request-headers) is equal to or higher than the value of [x-v](#request-headers) then the [x-min-v](#request-headers) header should be treated as absent. If all versions requested are not supported then the data holder should respond with a 406 Not Acceptable. See [HTTP Headers](#request-headers)", 13 | "description": "Minimum version of the API end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder should respond with a 406 Not Acceptable.", 14 |15 | 16 | 17 | -------------------------------------------------------------------------------- /reviews/2021-05/analysis/analysis-rfc2119-rfc8174-20210519.md: -------------------------------------------------------------------------------- 1 | # Overview 2 | 3 | * **Specification:** Key words for use in RFCs to Indicate Requirement Levels 4 | * **Baseline Version:** [RFC2119](https://datatracker.ietf.org/doc/html/rfc2119) 5 | * **Target Version:** [RFC8174](https://datatracker.ietf.org/doc/html/rfc8174) 6 | 7 | This document summarises the changes between the RFC2119 on Requirements Level and the amendments made in RFC8174 and identifies the impacts to the Consumer Data Standards. 8 | 9 | Impact analysis is compared against v1.10.0 of the Consumer Data Standards. 10 | 11 | # Summary of key changes 12 | 13 | * RFC8174 clarifies that only keywords in UPPERCASE have the meaning of a requirement level keyword. Where the lowercase is used in documentation, it does not take on the meaning of a requirement level keyword. 14 | * It introduced the new keyword "NOT RECOMMENDED" 15 | 16 | # Analysis 17 | 18 | | Section | Change | Summary | 19 | | --- | --- | --- | 20 | | 2. Clarifying Capitalization of Key Words | Definition of a keyword | Use of keywords is only implied when the keyword is provided in UPPERCASE | 21 | | 2. Clarifying Capitalization of Key Words | "NOT RECOMMENDED" | "NOT RECOMMENDED" is explicitly defined as a synonym for "SHOULD NOT" | 22 | 23 | # Impact analysis to the Consumer Data Standards 24 | 25 | * Any intended use of a requirement level keyword needs to be UPPERCASE 26 | * Does not give rise to any breaking changes because the correct interpretation of RFC2119 is that lowercase usage of keywords is permitted 27 | 28 | # Recommendations 29 | 30 | * Adopt RFC8174 _in addition to_ RFC2119. Because RFC8174 is a clarification on best practice when applying RFC2119 both RFCs apply. 31 | * RFC8174 should be introduced as an informative reference. 32 | * All references to requirement level keywords that **are not** UPPERCASE must be reviewed in the Consumer Data Standards. Where a requirement level is implied, the word must be changed to UPPERCASE. Where the use of the word is not intended to imply a requirement level, a different word should be used to reduce possible ambiguity for implementers 33 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/b_cx-guidelines-request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: CX Guidelines request 3 | about: Create a request for CX Guidelines. This can be a request for new guidelines 4 | or a change request to existing guidelines. 5 | title: "[CX Guidelines | Descriptive Issue Title]" 6 | labels: change request, consumer experience, cx guideline 7 | assignees: CDR-CX-Stream 8 | 9 | --- 10 | 11 | 12 | # Description 13 | Briefly described the CX Guideline(s) being requested for development or revision. 14 | 15 | # Intention and Value of Change 16 | Please include details on the intended benefit of the change and the value it brings to the requester and ecosystem participants. 17 | 18 | # Area affected 19 | Specify the area(s) to be covered or revised. This should include specific CDR Rules, Data Standards, or CX Guidelines that relate to the request. 20 | 21 | # New item or change proposed 22 | Clear outline of the requirement, journey, or flow for which CX Guidelines are requested to cover or demonstrate. 23 | 24 | 25 | ----- 26 | :warning: **Disclaimer** :warning: 27 | The [CX Guidelines](https://cx.cds.gov.au/) provide optional implementation examples for key rules, standards, and best practice recommendations. 28 | 29 | They demonstrate key aspects of the consent model, but certain areas may be considered out of scope. This may include, for example, where the rules and/or standards are silent or non-prescriptive to provide CDR participants with flexibility or discretion according to their own systems or protocols. 30 | 31 | :heavy_exclamation_mark:The CX Guidelines span policy, rules, standards, and best practice, so requests will be considered on a case by case basis and timings may not fall within a Maintenance Iteration cycle. 32 | 33 | Importantly, the [CX Guidelines](https://cx.cds.gov.au/) are optional to follow, but the CDR rules require CDR participants to have regard to them. The [CX Standards](https://consumerdatastandardsaustralia.github.io/standards/#consumer-experience) differ in that they are binding data standards that must be followed. 34 | 35 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Consumer Data Right Standards - Maintenance 2 | 3 | This repository is used to contain discussions and contributions from the community of participants and other interested parties in the Australian [Consumer Data Right](https://www.cdr.gov.au/). Please refer to the [Standards repository](https://github.com/ConsumerDataStandardsAustralia/standards) for more information. 4 | 5 | See the Consumer Data Standards support portal article [Standards Maintenance](https://cdr-support.zendesk.com/hc/en-us/articles/900005585003) for details of the maintenance cycle. The details for the next maintenance iteration are below. 6 | 7 | ## Getting involved 8 | If you would like to participate in the Standards Maintenance fortnightly meetings and contribute to the discussion, send a request via email to contact@dsb.gov.au 9 | 10 | You can also sign up to our [mailing list](https://consumerdatastandards.us18.list-manage.com/subscribe?u=fb3bcb1ec5662d9767ab3c414&id=a4414b3906) to stay up to date on DSB News. 11 | 12 | The Agenda, Minutes and Actions for Maintenance Iterations are available on the [Meetings page](https://github.com/ConsumerDataStandardsAustralia/standards/wiki/MI%20meetings). 13 | 14 | 15 | ## Raising issues 16 | 17 | If you would like to propose an enhancement, fix or change to the Data Standards you can raise an issue on [this repository](https://github.com/ConsumerDataStandardsAustralia/standards-maintenance/issues). 18 | 19 | If you would like to suggest a documentation fix, you can post a comment on the holistic feedback issue created for each Maintenance Iteration. See [Getting involved](#getting-involved) above. 20 | 21 | If you would like to request clarification or ask a question you can search the [CDR Support Portal](https://cdr-support.zendesk.com/hc/en-us) for existing guidance or raise a query if you're unable to find an answer. 22 | 23 | ## Rules of engagement for this repository 24 | 25 | We're committed to undertaking conversations relating to the technical standards in the open. Questions or comments that participants might ask us via email or private message are likely to be questions or comments other participants have as well. Our answers will be of interest to everyone. There are likely to be experiences and lessons everybody working in this ecosystem can learn from. Having these conversations transparently helps us reduce duplication, resolve issues faster and keep everyone up to date with the conversation. 26 | 27 | We ask that all contributors to the Consumer Data Standards repositories comply with the [GitHub Community Forum Code of Conduct](https://help.github.com/articles/github-community-forum-code-of-conduct/) and DSB’s [Community Guidelines](https://cdr-support.zendesk.com/hc/en-us/articles/10222408124047-Consultation-meeting-information-and-community-guidelines). 28 | 29 | In addition, it would be appreciated if the following rules are adhered to when commenting or contributing: 30 | * Please provide a single, considered response to each proposal covering all feedback concerning the proposal. 31 | * For transparency, if you work at or are associated with an organisation with an interest in the standards, please indicate this in your response. 32 | * Please ensure you are aware of and compliant with any social media guidelines or internal processes for response set by your organisation before providing feedback. 33 | * The creation of new issues by contributors is encouraged in this repository. 34 | -------------------------------------------------------------------------------- /reviews/2021-05/raw/rfc2119.txt: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Network Working Group S. Bradner 8 | Request for Comments: 2119 Harvard University 9 | BCP: 14 March 1997 10 | Category: Best Current Practice 11 | 12 | 13 | Key words for use in RFCs to Indicate Requirement Levels 14 | 15 | Status of this Memo 16 | 17 | This document specifies an Internet Best Current Practices for the 18 | Internet Community, and requests discussion and suggestions for 19 | improvements. Distribution of this memo is unlimited. 20 | 21 | Abstract 22 | 23 | In many standards track documents several words are used to signify 24 | the requirements in the specification. These words are often 25 | capitalized. This document defines these words as they should be 26 | interpreted in IETF documents. Authors who follow these guidelines 27 | should incorporate this phrase near the beginning of their document: 28 | 29 | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL 30 | NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and 31 | "OPTIONAL" in this document are to be interpreted as described in 32 | RFC 2119. 33 | 34 | Note that the force of these words is modified by the requirement 35 | level of the document in which they are used. 36 | 37 | 1. MUST This word, or the terms "REQUIRED" or "SHALL", mean that the 38 | definition is an absolute requirement of the specification. 39 | 40 | 2. MUST NOT This phrase, or the phrase "SHALL NOT", mean that the 41 | definition is an absolute prohibition of the specification. 42 | 43 | 3. SHOULD This word, or the adjective "RECOMMENDED", mean that there 44 | may exist valid reasons in particular circumstances to ignore a 45 | particular item, but the full implications must be understood and 46 | carefully weighed before choosing a different course. 47 | 48 | 4. SHOULD NOT This phrase, or the phrase "NOT RECOMMENDED" mean that 49 | there may exist valid reasons in particular circumstances when the 50 | particular behavior is acceptable or even useful, but the full 51 | implications should be understood and the case carefully weighed 52 | before implementing any behavior described with this label. 53 | 54 | 55 | 56 | 57 | 58 | Bradner Best Current Practice [Page 1] 59 | 60 | RFC 2119 RFC Key Words March 1997 61 | 62 | 63 | 5. MAY This word, or the adjective "OPTIONAL", mean that an item is 64 | truly optional. One vendor may choose to include the item because a 65 | particular marketplace requires it or because the vendor feels that 66 | it enhances the product while another vendor may omit the same item. 67 | An implementation which does not include a particular option MUST be 68 | prepared to interoperate with another implementation which does 69 | include the option, though perhaps with reduced functionality. In the 70 | same vein an implementation which does include a particular option 71 | MUST be prepared to interoperate with another implementation which 72 | does not include the option (except, of course, for the feature the 73 | option provides.) 74 | 75 | 6. Guidance in the use of these Imperatives 76 | 77 | Imperatives of the type defined in this memo must be used with care 78 | and sparingly. In particular, they MUST only be used where it is 79 | actually required for interoperation or to limit behavior which has 80 | potential for causing harm (e.g., limiting retransmisssions) For 81 | example, they must not be used to try to impose a particular method 82 | on implementors where the method is not required for 83 | interoperability. 84 | 85 | 7. Security Considerations 86 | 87 | These terms are frequently used to specify behavior with security 88 | implications. The effects on security of not implementing a MUST or 89 | SHOULD, or doing something the specification says MUST NOT or SHOULD 90 | NOT be done may be very subtle. Document authors should take the time 91 | to elaborate the security implications of not following 92 | recommendations or requirements as most implementors will not have 93 | had the benefit of the experience and discussion that produced the 94 | specification. 95 | 96 | 8. Acknowledgments 97 | 98 | The definitions of these terms are an amalgam of definitions taken 99 | from a number of RFCs. In addition, suggestions have been 100 | incorporated from a number of people including Robert Ullmann, Thomas 101 | Narten, Neal McBurnett, and Robert Elz. 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | Bradner Best Current Practice [Page 2] 115 | 116 | RFC 2119 RFC Key Words March 1997 117 | 118 | 119 | 9. Author's Address 120 | 121 | Scott Bradner 122 | Harvard University 123 | 1350 Mass. Ave. 124 | Cambridge, MA 02138 125 | 126 | phone - +1 617 495 3864 127 | 128 | email - sob@harvard.edu 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | Bradner Best Current Practice [Page 3] 171 | 172 | -------------------------------------------------------------------------------- /reviews/README.md: -------------------------------------------------------------------------------- 1 | # Data Standards Normative and Informative Reference Analysis 2 | 3 | The following document contains a summary of each review the Data Standards Body has conducted of the normative and informative standards relied upon by the Consumer Data Standards. 4 | 5 | ## Summary 6 | 7 | ### Reviews 8 | 9 | | Review Date | Review Archive | 10 | | --- | ---- | 11 | | 2021-05 | [Archive Link](2021-05/README.md) | 12 | 13 | ### Normative References 14 | 15 | | **Reference** | **Description** | **Baseline Version** | **05-2021 Version** | 16 | | --- | --- | --- | --- | 17 | | **[FAPI-R]** | Financial-grade API - Part 1: Read Only API Security Profile: |[Draft-06](https://openid.net/specs/openid-financial-api-part-1-ID2.html) | [1.0 Final - March 12, 2021](https://openid.net/specs/openid-financial-api-part-1-1_0.html) | 18 | | **[FAPI-RW]** | Financial-grade API - Part 2: Read and Write API Security Profile: |[Draft-06](https://openid.net/specs/openid-financial-api-part-2-ID2.html) | [1.0 Final - March 12, 2021](https://openid.net/specs/openid-financial-api-part-2-1_0.html) | 19 | | **[JSON]** | The JavaScript Object Notation (JSON) Data Interchange Format | [Dec 2017](https://tools.ietf.org/html/rfc8259) | No change | 20 | | **[JWA]** | JSON Web Algorithms (JWA) | [May 2015](https://tools.ietf.org/html/rfc7518) | No change | 21 | | **[JWK]** | JSON Web Key (JWK) | [May 2015](https://tools.ietf.org/html/rfc7517) | No change | 22 | | **[JWT]** | JSON Web Token (JWT) | [May 2015](https://tools.ietf.org/html/rfc7519) | No change | 23 | | **[JWS]** | JSON Web Signature (JWS) | [Feb 2016](https://tools.ietf.org/html/rfc7797) | No change | 24 | | **[JWE]** | JSON Web Encryption (JWE) | [May 2015](https://tools.ietf.org/html/rfc7516) | No change | 25 | | **[MTLS]** | OAuth 2.0 Mutual TLS Client Authentication and Certificate Bound Access Tokens | [Feb 2020](https://tools.ietf.org/html/rfc8705) | No change | 26 | | **[OAUTH2]** | The OAuth 2.0 Authorization Framework | [Oct 2012](https://tools.ietf.org/html/rfc6749)| No change | 27 | | **[OIDC]** | OpenID Connect Core 1.0 incorporating errata set 1 | [Nov 2014](http://openid.net/specs/openid-connect-core-1_0.html) | No change | 28 | | **[OIDD]** | OpenID Connect Discovery 1.0 incorporating errata set 1 | [Nov 2014](http://openid.net/specs/openid-connect-discovery-1_0.html)| No change | 29 | | **[TDIF]** | Digital Transformation Agency - Trusted Digital Identity Framework | [Apr 2019](https://www.dta.gov.au/our-projects/digital-identity/trusted-digital-identity-framework) | **_in review_** | 30 | | **[RFC2119]** | Key words for use in RFCs to Indicate Requirement Levels | [RFC2119 - Mar 1997](https://datatracker.ietf.org/doc/html/rfc2119) | [RFC8174 - May 2017](https://datatracker.ietf.org/doc/html/rfc8174) | 31 | | **[RFC7009]** | OAuth 2.0 Token Revocation | [Aug 2013](https://tools.ietf.org/html/rfc7009) | No change | 32 | | **[RFC7523]** | JSON Web Token (JWT) Profile for OAuth 2.0 Client Authentication and Authorization Grants | [May 2015](https://tools.ietf.org/html/rfc7523) | No change | 33 | | **[RFC7662]** | OAuth 2.0 Token Introspection | [RFC7662 - Oct 2015](https://tools.ietf.org/html/rfc7662) | [RFC8996 - March 2021](https://datatracker.ietf.org/doc/html/rfc8996) | 34 | | **[RFC6750]** | The OAuth 2.0 Authorization Framework: Bearer Token Usage | [Oct 2012](https://tools.ietf.org/html/rfc6750) | No change | 35 | | **[PAR]** | OAuth 2.0 Pushed Authorization Requests | [Draft 01 - Feb 2020](https://tools.ietf.org/html/draft-ietf-oauth-par-01) | [Draft 08 - May 2021](https://datatracker.ietf.org/doc/html/draft-ietf-oauth-par-08) | 36 | 37 | 38 | ## Informative References 39 | 40 | The following informative references were current at the time of review. For each reference, the version relied upon in the Consumer Data Standards as well as the most current version available of the reference are listed. 41 | 42 | | **Reference** | **Description** | **Baseline Version** | **05-2021 Version** | 43 | |----------------|-----------------|----------------------|---------------------| 44 | | **[BCP195]** | Recommendations for Secure Use of Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS) | [May 2015](https://tools.ietf.org/html/bcp195) | [March 2021](https://tools.ietf.org/html/bcp195) | 45 | | **[RFC7231]** | Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content | [June 2014](https://tools.ietf.org/html/rfc7231) | [Updated by RFC2817](https://datatracker.ietf.org/doc/html/rfc2817)| 46 | | **[CDR]** | Consumer Data Right: | [Link](https://www.accc.gov.au/focus-areas/consumer-data-right) | [**New Link**](https://www.cdr.gov.au) | 47 | | **[FAPI]** | Financial-Grade API - Home Page | [Link](https://openid.net/wg/fapi/) | No change | 48 | | **[RFC4122]** | A Universally Unique Identifier (UUID) URN Namespace | [July 2005](https://tools.ietf.org/html/rfc4122) | No change | 49 | | **[X.1254]** | X.1254 - Entity authentication assurance framework | [Sept 2012](https://www.itu.int/rec/T-REC-X1254-201209-I/en) | [Sept 2020](https://www.itu.int/rec/T-REC-X.1254-202009-I/en) 50 | -------------------------------------------------------------------------------- /reviews/2021-05/raw/rfc8174.txt: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Internet Engineering Task Force (IETF) B. Leiba 8 | Request for Comments: 8174 Huawei Technologies 9 | BCP: 14 May 2017 10 | Updates: 2119 11 | Category: Best Current Practice 12 | ISSN: 2070-1721 13 | 14 | 15 | Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words 16 | 17 | Abstract 18 | 19 | RFC 2119 specifies common key words that may be used in protocol 20 | specifications. This document aims to reduce the ambiguity by 21 | clarifying that only UPPERCASE usage of the key words have the 22 | defined special meanings. 23 | 24 | Status of This Memo 25 | 26 | This memo documents an Internet Best Current Practice. 27 | 28 | This document is a product of the Internet Engineering Task Force 29 | (IETF). It represents the consensus of the IETF community. It has 30 | received public review and has been approved for publication by the 31 | Internet Engineering Steering Group (IESG). Further information on 32 | BCPs is available in Section 2 of RFC 7841. 33 | 34 | Information about the current status of this document, any errata, 35 | and how to provide feedback on it may be obtained at 36 | http://www.rfc-editor.org/info/rfc8174. 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | Leiba Best Current Practice [Page 1] 59 | 60 | RFC 8174 RFC 2119 Clarification May 2017 61 | 62 | 63 | Copyright Notice 64 | 65 | Copyright (c) 2017 IETF Trust and the persons identified as the 66 | document authors. All rights reserved. 67 | 68 | This document is subject to BCP 78 and the IETF Trust's Legal 69 | Provisions Relating to IETF Documents 70 | (http://trustee.ietf.org/license-info) in effect on the date of 71 | publication of this document. Please review these documents 72 | carefully, as they describe your rights and restrictions with respect 73 | to this document. Code Components extracted from this document must 74 | include Simplified BSD License text as described in Section 4.e of 75 | the Trust Legal Provisions and are provided without warranty as 76 | described in the Simplified BSD License. 77 | 78 | Table of Contents 79 | 80 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 81 | 2. Clarifying Capitalization of Key Words . . . . . . . . . . . 3 82 | 3. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 4 83 | 4. Security Considerations . . . . . . . . . . . . . . . . . . . 4 84 | 5. Normative References . . . . . . . . . . . . . . . . . . . . 4 85 | Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 4 86 | 87 | 1. Introduction 88 | 89 | RFC 2119 specifies common key words, such as "MUST", "SHOULD", and 90 | "MAY", that may be used in protocol specifications. It says that the 91 | key words "are often capitalized," which has caused confusion about 92 | how to interpret non-capitalized words such as "must" and "should". 93 | 94 | This document updates RFC 2119 by clarifying that only UPPERCASE 95 | usage of the key words have the defined special meanings. This 96 | document is part of BCP 14. 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | Leiba Best Current Practice [Page 2] 115 | 116 | RFC 8174 RFC 2119 Clarification May 2017 117 | 118 | 119 | 2. Clarifying Capitalization of Key Words 120 | 121 | The following change is made to [RFC2119]: 122 | 123 | === OLD === 124 | In many standards track documents several words are used to signify 125 | the requirements in the specification. These words are often 126 | capitalized. This document defines these words as they should be 127 | interpreted in IETF documents. Authors who follow these guidelines 128 | should incorporate this phrase near the beginning of their document: 129 | 130 | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 131 | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 132 | document are to be interpreted as described in RFC 2119. 133 | 134 | 135 | === NEW === 136 | In many IETF documents, several words, when they are in all capitals 137 | as shown below, are used to signify the requirements in the 138 | specification. These capitalized words can bring significant clarity 139 | and consistency to documents because their meanings are well defined. 140 | This document defines how those words are interpreted in IETF 141 | documents when the words are in all capitals. 142 | 143 | o These words can be used as defined here, but using them is not 144 | required. Specifically, normative text does not require the use 145 | of these key words. They are used for clarity and consistency 146 | when that is what's wanted, but a lot of normative text does not 147 | use them and is still normative. 148 | 149 | o The words have the meanings specified herein only when they are in 150 | all capitals. 151 | 152 | o When these words are not capitalized, they have their normal 153 | English meanings and are not affected by this document. 154 | 155 | Authors who follow these guidelines should incorporate this phrase 156 | near the beginning of their document: 157 | 158 | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL 159 | NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", 160 | "MAY", and "OPTIONAL" in this document are to be interpreted as 161 | described in BCP 14 [RFC2119] [RFC8174] when, and only when, they 162 | appear in all capitals, as shown here. 163 | 164 | === END === 165 | 166 | 167 | 168 | 169 | 170 | Leiba Best Current Practice [Page 3] 171 | 172 | RFC 8174 RFC 2119 Clarification May 2017 173 | 174 | 175 | 3. IANA Considerations 176 | 177 | This document does not require any IANA actions. 178 | 179 | 4. Security Considerations 180 | 181 | This document is purely procedural; there are no related security 182 | considerations. 183 | 184 | 5. Normative References 185 | 186 | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 187 | Requirement Levels", BCP 14, RFC 2119, 188 | DOI 10.17487/RFC2119, March 1997, 189 |
11 | "description": "An [RFC4122](https://tools.ietf.org/html/rfc4122) UUID used as a correlation id. If provided, the data holder must play back this value in the x-fapi-interaction-id response header. If not provided a [RFC4122] UUID value is required to be provided in the response header to track the interaction." 12 | "description": "An [RFC4122](https://tools.ietf.org/html/rfc4122) UUID used as a correlation id. If provided, the data holder must play back this value in the x-fapi-interaction-id response header. If not provided a [RFC4122] UUID value is required to be provided in the response header to track the interaction." 13 | "description": "An [RFC4122](https://tools.ietf.org/html/rfc4122) UUID used as a correlation id. If provided, the data holder must play back this value in the x-fapi-interaction-id response header. If not provided a [RFC4122] UUID value is required to be provided in the response header to track the interaction." 14 | "description": "An [RFC4122](https://tools.ietf.org/html/rfc4122) UUID used as a correlation id. If provided, the data holder must play back this value in the x-fapi-interaction-id response header. If not provided a [RFC4122] UUID value is required to be provided in the response header to track the interaction." 15 | "description": "An [RFC4122](https://tools.ietf.org/html/rfc4122) UUID used as a correlation id. If provided, the data holder must play back this value in the x-fapi-interaction-id response header. If not provided a [RFC4122] UUID value is required to be provided in the response header to track the interaction." 16 | "description": "An [RFC4122](https://tools.ietf.org/html/rfc4122) UUID used as a correlation id. If provided, the data holder must play back this value in the x-fapi-interaction-id response header. If not provided a [RFC4122] UUID value is required to be provided in the response header to track the interaction." 17 | "description": "An [RFC4122](https://tools.ietf.org/html/rfc4122) UUID used as a correlation id. If provided, the data holder must play back this value in the x-fapi-interaction-id response header. If not provided a [RFC4122] UUID value is required to be provided in the response header to track the interaction." 18 | "description": "An [RFC4122](https://tools.ietf.org/html/rfc4122) UUID used as a correlation id. If provided, the data holder must play back this value in the x-fapi-interaction-id response header. If not provided a [RFC4122] UUID value is required to be provided in the response header to track the interaction." 19 | "description": "An [RFC4122](https://tools.ietf.org/html/rfc4122) UUID used as a correlation id. If provided, the data holder must play back this value in the x-fapi-interaction-id response header. If not provided a [RFC4122] UUID value is required to be provided in the response header to track the interaction." 20 | "description": "An [RFC4122](https://tools.ietf.org/html/rfc4122) UUID used as a correlation id. If provided, the data holder must play back this value in the x-fapi-interaction-id response header. If not provided a [RFC4122] UUID value is required to be provided in the response header to track the interaction." 21 | "description": "Obtain transactions for a specific account.\n\nSome general notes that apply to all end points that retrieve transactions:\n\n- Where multiple transactions are returned, transactions should be ordered according to effective date in descending order\n- As the date and time for a transaction can alter depending on status and transaction type two separate date/times are included in the payload. There are still some scenarios where neither of these time stamps is available. For the purpose of filtering and ordering it is expected that the data holder will use the “effective” date/time which will be defined as:\n - Posted date/time if available, then\n - Execution date/time if available, then\n - A reasonable date/time nominated by the data holder using internal data structures\n- For transaction amounts it should be assumed that a negative value indicates a reduction of the available balance on the account while a positive value indicates an increase in the available balance on the account\n- For aggregated transactions (ie. groups of sub transactions reported as a single entry for the account) only the aggregated information, with as much consistent information accross the subsidiary transactions as possible, is required to be shared", 22 | "description": "ID of the account to get transactions for. Must have previously been returned by one of the account list end points.", 23 | "description": "An [RFC4122](https://tools.ietf.org/html/rfc4122) UUID used as a correlation id. If provided, the data holder must play back this value in the x-fapi-interaction-id response header. If not provided a [RFC4122] UUID value is required to be provided in the response header to track the interaction." 24 | "description": "An [RFC4122](https://tools.ietf.org/html/rfc4122) UUID used as a correlation id. If provided, the data holder must play back this value in the x-fapi-interaction-id response header. If not provided a [RFC4122] UUID value is required to be provided in the response header to track the interaction." 25 | "description": "ID of the account to get transactions for. Must have previously been returned by one of the account list end points", 26 | "description": "An [RFC4122](https://tools.ietf.org/html/rfc4122) UUID used as a correlation id. If provided, the data holder must play back this value in the x-fapi-interaction-id response header. If not provided a [RFC4122] UUID value is required to be provided in the response header to track the interaction." 27 | "description": "An [RFC4122](https://tools.ietf.org/html/rfc4122) UUID used as a correlation id. If provided, the data holder must play back this value in the x-fapi-interaction-id response header. If not provided a [RFC4122] UUID value is required to be provided in the response header to track the interaction." 28 | "description": "ID of the account to get direct debit authorisations for. Must have previously been returned by one of the account list end points.", 29 | "description": "An [RFC4122](https://tools.ietf.org/html/rfc4122) UUID used as a correlation id. If provided, the data holder must play back this value in the x-fapi-interaction-id response header. If not provided a [RFC4122] UUID value is required to be provided in the response header to track the interaction." 30 | "description": "An [RFC4122](https://tools.ietf.org/html/rfc4122) UUID used as a correlation id. If provided, the data holder must play back this value in the x-fapi-interaction-id response header. If not provided a [RFC4122] UUID value is required to be provided in the response header to track the interaction." 31 | "description": "An [RFC4122](https://tools.ietf.org/html/rfc4122) UUID used as a correlation id. If provided, the data holder must play back this value in the x-fapi-interaction-id response header. If not provided a [RFC4122] UUID value is required to be provided in the response header to track the interaction." 32 | "description": "An [RFC4122](https://tools.ietf.org/html/rfc4122) UUID used as a correlation id. If provided, the data holder must play back this value in the x-fapi-interaction-id response header. If not provided a [RFC4122] UUID value is required to be provided in the response header to track the interaction." 33 | "description": "An [RFC4122](https://tools.ietf.org/html/rfc4122) UUID used as a correlation id. If provided, the data holder must play back this value in the x-fapi-interaction-id response header. If not provided a [RFC4122] UUID value is required to be provided in the response header to track the interaction." 34 | "description": "An [RFC4122](https://tools.ietf.org/html/rfc4122) UUID used as a correlation id. If provided, the data holder must play back this value in the x-fapi-interaction-id response header. If not provided a [RFC4122] UUID value is required to be provided in the response header to track the interaction." 35 | "description": "ID of the account to get scheduled payments for. Must have previously been returned by one of the account list end points. The account specified is the source account for the payment", 36 | "description": "An [RFC4122](https://tools.ietf.org/html/rfc4122) UUID used as a correlation id. If provided, the data holder must play back this value in the x-fapi-interaction-id response header. If not provided a [RFC4122] UUID value is required to be provided in the response header to track the interaction." 37 | "description": "An [RFC4122](https://tools.ietf.org/html/rfc4122) UUID used as a correlation id. If provided, the data holder must play back this value in the x-fapi-interaction-id response header. If not provided a [RFC4122] UUID value is required to be provided in the response header to track the interaction." 38 | "description": "An [RFC4122](https://tools.ietf.org/html/rfc4122) UUID used as a correlation id. If provided, the data holder must play back this value in the x-fapi-interaction-id response header. If not provided a [RFC4122] UUID value is required to be provided in the response header to track the interaction." 39 | "description": "An [RFC4122](https://tools.ietf.org/html/rfc4122) UUID used as a correlation id. If provided, the data holder must play back this value in the x-fapi-interaction-id response header. If not provided a [RFC4122] UUID value is required to be provided in the response header to track the interaction." 40 | "description": "An [RFC4122](https://tools.ietf.org/html/rfc4122) UUID used as a correlation id. If provided, the data holder must play back this value in the x-fapi-interaction-id response header. If not provided a [RFC4122] UUID value is required to be provided in the response header to track the interaction." 41 | "description": "An [RFC4122](https://tools.ietf.org/html/rfc4122) UUID used as a correlation id. If provided, the data holder must play back this value in the x-fapi-interaction-id response header. If not provided a [RFC4122] UUID value is required to be provided in the response header to track the interaction." 42 | "description": "An [RFC4122](https://tools.ietf.org/html/rfc4122) UUID used as a correlation id. If provided, the data holder must play back this value in the x-fapi-interaction-id response header. If not provided a [RFC4122] UUID value is required to be provided in the response header to track the interaction." 43 | "description": "An [RFC4122](https://tools.ietf.org/html/rfc4122) UUID used as a correlation id. If provided, the data holder must play back this value in the x-fapi-interaction-id response header. If not provided a [RFC4122] UUID value is required to be provided in the response header to track the interaction." 44 | "description": "Obtain detailed information on a single payee.\n\nNote that the payee sub-structure should be selected to represent the payment destination only rather than any known characteristics of the payment recipient", 45 | "description": "An [RFC4122](https://tools.ietf.org/html/rfc4122) UUID used as a correlation id. If provided, the data holder must play back this value in the x-fapi-interaction-id response header. If not provided a [RFC4122] UUID value is required to be provided in the response header to track the interaction." 46 | "description": "An [RFC4122](https://tools.ietf.org/html/rfc4122) UUID used as a correlation id. If provided, the data holder must play back this value in the x-fapi-interaction-id response header. If not provided a [RFC4122] UUID value is required to be provided in the response header to track the interaction." 47 | "description": "Obtain a list of products that are currently openly offered to the market\n\nNote that the results returned by this end point are expected to be ordered in descending order according to ``lastUpdated``.\n\n### Conventions\nIn the product reference payloads there are a number of recurring conventions that are explained here, in one place.\n\n#### Arrays Of Features\n\nIn the product detail payload there are a number of arrays articulating generic features, constraints, prices, etc. The intent of these arrays is as follows:\n\n- Each element in an array has the same structure so that clients can reliably interpret the payloads\n- Each element as a type element that is an enumeration of the specific aspect of a product being described, such as types of fees.\n- Each element has a field name [additionalValue](#productfeaturetypedoc). This is a generic field with contents that will vary based on the type of object being described. The contents of this field for the ADDITIONAL_CARDS feature is the number of cards allowed while the contents of this field for the MAX_LIMIT constraint would be the maximum credit limit allowed for the product.\n- An element in these arrays of the same type may appear more than once. For instance, a product may offer two separate loyalty programs that the customer can select from. A fixed term mortgage may have different rates for different term lengths.\n- An element in these arrays may contain an additionalInfo and additionalInfoUri field. The additionalInfo field is used to provide displayable text clarifying the purpose of the element in some way when the product is presented to a customer. The additionalInfoUri provides a link to externally hosted information specifically relevant to that feature of the product.\n- Depending on the type of data being represented there may be additional specific fields.\n\n#### URIs To More Information\n\nAs the complexities and nuances of a financial product can not easily be fully expressed in a data structure without a high degree of complexity it is necessary to provide additional reference information that a potential customer can access so that they are fully informed of the features and implications of the product. The payloads for product reference therefore contain numerous fields that are provided to allow the product holder to describe the product more fully using a web page hosted on their online channels.\n\nThese URIs do not need to all link to different pages. If desired, they can all link to a single hosted page and use difference HTML anchors to focus on a specific topic such as eligibility or fees.\n\n#### Linkage To Accounts\nFrom the moment that a customer applies for a product and an account is created the account and the product that spawned it will diverge. Rates and features of the product may change and a discount may be negotiated for the account.\n\nFor this reason, while productCategory is a common field between accounts and products, there is no specific ID that can be used to link an account to a product within the regime.\n\nSimilarly, many of the fields and objects in the product payload will appear in the account detail payload but the structures and semantics are not identical as one refers to a product that can potentially be originated and one refers to an account that actual has been instantiated and created along with the associated decisions inherent in that process.\n\n#### Dates\nIt is expected that data consumers needing this data will call relatively frequently to ensure the data they have is representative of the current offering from a bank. To minimise the volume and frequency of these calls the ability to set a lastUpdated field with the date and time of the last update to this product is included. A call for a list of products can then be filtered to only return products that have been updated since the last time that data was obtained using the updated-since query parameter.\n\nIn addition, the concept of effective date and time has also been included. This allows for a product to be marked for obsolescence, or introduction, from a certain time without the need for an update to show that a product has been changed. The inclusion of these dates also removes the need to represent deleted products in the payload. Products that are no long offered can be marked not effective for a few weeks before they are then removed from the product set as an option entirely.\n\nNOTE: This version must be implemented by **February 2021**\n\nObsolete versions: [v1](includes/obsolete/get-products-v1.html) [v2](includes/obsolete/get-products-v2.html)", 48 | "description": "Obtain detailed information on a single product offered openly to the market.\n\nNOTE: This version must be implemented by **February 2021**\n\nObsolete versions: [v1](includes/obsolete/get-product-detail-v1.html) [v2](includes/obsolete/get-product-detail-v2.html)", 49 | "description": "An [RFC4122](https://tools.ietf.org/html/rfc4122) UUID used as a correlation id. If provided, the data holder must play back this value in the x-fapi-interaction-id response header. If not provided a [RFC4122] UUID value is required to be provided in the response header to track the interaction." 50 | "description": "An [RFC4122](https://tools.ietf.org/html/rfc4122) UUID used as a correlation id. If provided, the data holder must play back this value in the x-fapi-interaction-id response header. If not provided a [RFC4122] UUID value is required to be provided in the response header to track the interaction." 51 | "description": "An [RFC4122](https://tools.ietf.org/html/rfc4122) UUID used as a correlation id. If provided, the data holder must play back this value in the x-fapi-interaction-id response header. If not provided a [RFC4122] UUID value is required to be provided in the response header to track the interaction." 52 | "description": "An [RFC4122](https://tools.ietf.org/html/rfc4122) UUID used as a correlation id. If provided, the data holder must play back this value in the x-fapi-interaction-id response header. If not provided a [RFC4122] UUID value is required to be provided in the response header to track the interaction." 53 | "description": "Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If the value of [x-min-v](#request-headers) is equal to or higher than the value of [x-v](#request-headers) then the [x-min-v](#request-headers) header should be treated as absent. If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. See [HTTP Headers](#request-headers)", 54 | "description": "Minimum version of the API end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable.", 55 | "description": "An [RFC4122](https://tools.ietf.org/html/rfc4122) UUID used as a correlation id. If provided, the data holder must play back this value in the x-fapi-interaction-id response header. If not provided a [RFC4122] UUID value is required to be provided in the response header to track the interaction.", 56 | "description": "Filter transactions to only transactions where this string value is found as a substring of either the reference or description fields. Format is arbitrary ASCII string. This parameter is optionally implemented by data holders. If it is not implemented then a response should be provided as normal without text filtering applied and an additional boolean field named isQueryParamUnsupported should be included in the meta object and set to true (whether the text parameter is supplied or not)", 57 | "description": "The list of products returned. If the filter results in an empty set then this array may have no records", 58 | "description": "A data holder specific unique identifier for this product. This identifier must be unique to a product but does not otherwise need to adhere to ID permanence guidelines.", 59 | "description": "URI reference to a PNG, JPG or GIF image with proportions defined by ISO 7810 ID-1 and width no greater than 512 pixels. The URI reference may be a link or url-encoded data URI [RFC 2397](https://tools.ietf.org/html/rfc2397)", 60 | "description": "Array of product IDs for products included in the bundle that are available via the product end points. Note that this array is not intended to represent a comprehensive model of the products included in the bundle and some products available for the bundle may not be available via the product reference end points", 61 | "description": "An optional list of discounts to this fee that may be available", 62 | "description": "The period after which the rate is applied to the balance to calculate the amount due for the period. Calculation of the amount is often daily (as balances may change) but accumulated until the total amount is 'applied' to the account (see applicationFrequency). Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax)", 63 | "description": "The period after which the rate is applied to the balance to calculate the amount due for the period. Calculation of the amount is often daily (as balances may change) but accumulated until the total amount is 'applied' to the account (see applicationFrequency). Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax)", 64 | "description": "The number of tierUnitOfMeasure units that form the lower bound of the tier. The tier should be inclusive of this value", 65 | "description": "The number of tierUnitOfMeasure units that form the upper bound of the tier or band. For a tier with a discrete value (as opposed to a range of values e.g. 1 month) this must be the same as tierValueMinimum. Where this is the same as the tierValueMinimum value of the next-higher tier the referenced tier should be exclusive of this value. For example a term deposit of 2 months falls into the upper tier of the following tiers: (1 – 2 months, 2 – 3 months). If absent the tier's range has no upper bound.", 66 | "description": "The method used to calculate the amount to be applied using one or more tiers. A single rate may be applied to the entire balance or each applicable tier rate is applied to the portion of the balance that falls into that tier (referred to as 'bands' or 'steps')", 67 | "description": "The list of accounts returned. If the filter results in an empty set then this array may have no records", 68 | "description": "The display name of the account as defined by the bank. This should not incorporate account numbers or PANs. If it does the values should be masked according to the rules of the MaskedAccountString common type." 69 | "description": "The unmasked account number for the account. Should not be supplied if the account number is a PAN requiring PCI compliance. Is expected to be formatted as digits only with leading zeros included and no punctuation or spaces" 70 | "description": "Current instructions on action to be taken at maturity. This includes default actions that may be specified in the terms and conditions for the product e.g. roll-over to the same term and frequency of interest payments", 71 | "description": "The accountIDs of the configured offset accounts attached to this loan. Only offset accounts that can be accessed under the current authorisation should be included. It is expected behaviour that offsetAccountEnabled is set to true but the offsetAccountIds field is absent or empty. This represents a situation where an offset account exists but details can not be accessed under the current authorisation", 72 | "description": "BPAY CRN for the transaction (if available).<br/>Where the CRN contains sensitive information, it should be masked in line with how the Data Holder currently displays account identifiers in their existing online banking channels. If the contents of the CRN match the format of a Credit Card PAN they should be masked according to the rules applicable for MaskedPANString. If the contents are are otherwise sensitive, then it should be masked using the rules applicable for the MaskedAccountString common type." 73 | "description": "The balance of the account at this time. Should align to the balance available via other channels such as Internet Banking. Assumed to be negative if the customer has money owing", 74 | "description": "BPAY CRN of the Biller (if available).<br/>Where the CRN contains sensitive information, it should be masked in line with how the Data Holder currently displays account identifiers in their existing online banking channels. If the contents of the CRN match the format of a Credit Card PAN they should be masked according to the rules applicable for MaskedPANString. If the contents are are otherwise sensitive, then it should be masked using the rules applicable for the MaskedAccountString common type." 75 | "description": "The short display name of the scheduled payment as provided by the customer if provided. Where a customer has not provided a nickname, a display name derived by the bank for the scheduled payment should be provided that is consistent with existing digital banking channels" 76 | "description": "The set of payment amounts and destination accounts for this payment accommodating multi-part payments. A single entry indicates a simple payment with one destination account. Must have at least one entry", 77 | "description": "The amount of the next payment if known. Mandatory unless the isAmountCalculated field is set to true. Must be zero or positive if present", 78 | "description": "Present if toUType is set to payeeId. Indicates that the payment is to registered payee that can be accessed using the payee end point. If the Bank Payees scope has not been consented to then a payeeId should not be provided and the full payee details should be provided instead", 79 | "description": "The short display name of the payee as provided by the customer unless toUType is set to payeeId. Where a customer has not provided a nickname, a display name derived by the bank for payee should be provided that is consistent with existing digital banking channels" 80 | "description": "The limit date after which no more payments should be made using this schedule. If both finalPaymentDate and paymentsRemaining are present then payments will stop according to the most constraining value. If neither field is present the payments will continue indefinitely", 81 | "description": "An array of interval objects defining the payment schedule. Each entry in the array is additive, in that it adds payments to the overall payment schedule. If multiple intervals result in a payment on the same day then only one payment will be made. Must have at least one entry", 82 | "description": "The limit date after which no more payments should be made using this schedule. If both finalPaymentDate and paymentsRemaining are present then payments will stop according to the most constraining value. If neither field is present the payments will continue indefinitely", 83 | "description": "The date and time that the current outage was detected. Should only be present if the status property is PARTIAL_FAILURE or UNAVAILABLE", 84 | "description": "The date and time that full service is expected to resume (if known). Should not be present if the status property has a value of OK.", 85 | "description": "List of scheduled outages. Property is mandatory but may contain and empty list if no outages are scheduled", 86 | "description": "The date and time that this record was last updated by the customer. If no update has occurred then this date should reflect the initial creation date for the data", 87 | "description": "For people with single names this field need not be present. The single name should be in the lastName field" 88 | "description": "For people with single names the single name should be in this field" 89 | "description": "Field is mandatory but array may be empty", 90 | "description": "Value is a valid [ANZSCO](http://www.abs.gov.au/ANZSCO) Standard Occupation classification code. If the occupation code held by the data holder is not one of the supported [ANZSCO](http://www.abs.gov.au/ANZSCO) versions, then it must not be supplied.", 91 | "description": "Array is mandatory but may be empty if no phone numbers are held", 92 | "description": "May be empty", 93 | "description": "Must contain at least one address. One and only one address may have the purpose of REGISTERED. Zero or one, and no more than one, record may have the purpose of MAIL. If zero then the REGISTERED address is to be used for mail", 94 | "description": "The date and time that this record was last updated by the customer. If no update has occurred then this date should reflect the initial creation date for the data", 95 | "description": "The first name of the individual providing access on behalf of the organisation. For people with single names this field need not be present. The single name should be in the lastName field" 96 | "description": "The last name of the individual providing access on behalf of the organisation. For people with single names the single name should be in this field" 97 | "description" : "A valid [ANZSIC](http://www.abs.gov.au/ANZSIC) code for the organisation. If the industry code held by the data holder is not one of the supported [ANZSIC](http://www.abs.gov.au/ANZSIC) versions, then it must not be supplied.", 98 | "description" : "The applicable [ANZSIC](http://www.abs.gov.au/ANZSIC) release version of the industry code provided. Should only be supplied if ``industryCode`` is also supplied. If ``industryCode`` is supplied but ``industryCodeVersion`` is absent, default is ``ANZSIC_1292.0_2006_V2.0``", 99 | "description": "Must contain at least one address. One and only one address may have the purpose of REGISTERED. Zero or one, and no more than one, record may have the purpose of MAIL. If zero then the REGISTERED address is to be used for mail", 100 | "description": "May be true for one and only one entry to indicate the preferred phone number. Assumed to be 'false' if not present", 101 | "description": "If absent, assumed to be Australia (+61). The + should be included" 102 | "description": "Required for non Mobile Phones, if field is present and refers to Australian code - the leading 0 should be omitted." 103 | "description": "May be true for one and only one email record in the collection. Denotes the default email address", 104 | "description": "Free text if the country is not Australia. If country is Australia then must be one of the values defined by the [State Type Abbreviation](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf) in the PAF file format. NSW, QLD, VIC, NT, WA, SA, TAS, ACT, AAT" 105 | "description": "The code of the error encountered. Where the error is specific to the respondent, an application-specific error code, expressed as a string value. If the error is application-specific, the URN code that the specific error extends must be provided in the meta object. Otherwise, the value is the error code URN." 106 |107 | 108 | 109 | --------------------------------------------------------------------------------