> ## Documentation Index
> Fetch the complete documentation index at: https://docs.openfinance-hackathon.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Parties for an Account

> **The list below outlines the Consent Permissions that are applicable to this resource:**          
* ReadParty * ReadPartyUser * ReadPartyUserIdentity
Refer to *Customer Experience Guidelines*, *Account Information*, *Data Groups* for further information.



## OpenAPI

````yaml open-finance-api/yaml/uae-account-information-openapi.yaml get /accounts/{AccountId}/parties
openapi: 3.0.0
info:
  title: UAE Account Information API
  description: '## UAE Open Finance Account Information API Specification'
  version: v1.2
servers:
  - url: /open-finance/account-information/v1.2
security: []
tags:
  - name: Account Access
    description: Account Access Consents Resource
  - name: Accounts
    description: Accounts Resource
  - name: Balances
    description: Balances Resource
  - name: Beneficiaries
    description: Beneficiaries Resource
  - name: Direct Debits
    description: Direct Debits Resource
  - name: Product
    description: Product Resource
  - name: Scheduled Payments
    description: Scheduled Payments Resource
  - name: Standing Orders
    description: Standing Orders Resource
  - name: Transactions
    description: Transactions Resource
  - name: Consents
    description: Consents Resource
  - name: Parties
    description: Parties Resource
paths:
  /accounts/{AccountId}/parties:
    get:
      tags:
        - Parties
      summary: Get Parties for an Account
      description: >-
        **The list below outlines the Consent Permissions that are applicable to
        this resource:**          

        * ReadParty * ReadPartyUser * ReadPartyUserIdentity

        Refer to *Customer Experience Guidelines*, *Account Information*, *Data
        Groups* for further information.
      operationId: PartiesByAccountId_read
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/x-customer-user-agent'
        - $ref: '#/components/parameters/x-fapi-auth-date'
        - $ref: '#/components/parameters/x-fapi-customer-ip-address'
        - $ref: '#/components/parameters/x-fapi-interaction-id'
        - $ref: '#/components/parameters/AccountId'
      responses:
        '200':
          description: The request has succeeded.
          headers:
            x-fapi-interaction-id:
              required: false
              description: An RFC4122 UID used as a correlation id.
              schema:
                type: string
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/AEReadParty2'
            application/json:
              schema:
                $ref: '#/components/schemas/AEReadParty2'
            application/jwt:
              schema:
                $ref: '#/components/schemas/AEReadParty2Signed'
        '400':
          description: Bad request
          headers:
            x-fapi-interaction-id:
              required: true
              description: An RFC4122 UID used as a correlation id.
              schema:
                type: string
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/AEErrorResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/AEErrorResponse'
            application/jwt:
              schema:
                $ref: '#/components/schemas/AEErrorSignedResponse'
        '401':
          description: Unauthorized
          headers:
            x-fapi-interaction-id:
              required: true
              description: An RFC4122 UID used as a correlation id.
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            x-fapi-interaction-id:
              required: true
              description: An RFC4122 UID used as a correlation id.
              schema:
                type: string
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/AEErrorResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/AEErrorResponse'
            application/jwt:
              schema:
                $ref: '#/components/schemas/AEErrorSignedResponse'
        '404':
          description: Not found
          headers:
            x-fapi-interaction-id:
              required: true
              description: An RFC4122 UID used as a correlation id.
              schema:
                type: string
        '405':
          description: Method Not Allowed
          headers:
            x-fapi-interaction-id:
              required: true
              description: An RFC4122 UID used as a correlation id.
              schema:
                type: string
        '406':
          description: Not Acceptable
          headers:
            x-fapi-interaction-id:
              required: true
              description: An RFC4122 UID used as a correlation id.
              schema:
                type: string
        '415':
          description: Unsupported Media Type
          headers:
            x-fapi-interaction-id:
              required: true
              description: An RFC4122 UID used as a correlation id.
              schema:
                type: string
        '429':
          description: Too Many Requests
          headers:
            retry-after:
              required: true
              description: Number in seconds to wait
              schema:
                type: integer
                format: int64
            x-fapi-interaction-id:
              required: true
              description: An RFC4122 UID used as a correlation id.
              schema:
                type: string
        '500':
          description: Internal Server Error
          headers:
            x-fapi-interaction-id:
              required: true
              description: An RFC4122 UID used as a correlation id.
              schema:
                type: string
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/AEErrorResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/AEErrorResponse'
            application/jwt:
              schema:
                $ref: '#/components/schemas/AEErrorSignedResponse'
      security:
        - UserOAuth2Security:
            - openid
            - accounts
components:
  parameters:
    Authorization:
      name: authorization
      in: header
      required: true
      description: An authorization Token as per https://tools.ietf.org/html/rfc6750
      schema:
        type: string
    x-customer-user-agent:
      in: header
      name: x-customer-user-agent
      description: Indicates the user-agent that the User is using.
      required: false
      schema:
        type: string
    x-fapi-auth-date:
      in: header
      name: x-fapi-auth-date
      required: false
      description: >-
        The time when the User last logged in with the TPP. 

        All dates in the HTTP headers are represented as RFC 7231 Full Dates. An
        example is below: 

        Sun, 10 Sep 2017 19:43:31 UTC
      schema:
        type: string
        pattern: >-
          ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2}
          (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4}
          \d{2}:\d{2}:\d{2} (GMT|UTC)$
    x-fapi-customer-ip-address:
      in: header
      name: x-fapi-customer-ip-address
      required: false
      description: The User's IP address if the User is currently logged in with the TPP.
      schema:
        type: string
    x-fapi-interaction-id:
      in: header
      name: x-fapi-interaction-id
      required: false
      description: An RFC4122 UID used as a correlation id.
      schema:
        type: string
    AccountId:
      name: AccountId
      in: path
      description: AccountId
      required: true
      schema:
        type: string
  schemas:
    AEReadParty2:
      type: object
      required:
        - Data
        - Links
        - Meta
      properties:
        Data:
          $ref: '#/components/schemas/AEReadParty2Data'
        Links:
          $ref: '#/components/schemas/LinksResource'
        Meta:
          $ref: '#/components/schemas/MetaTotalPages'
      description: List of Parties for an Account
      additionalProperties: false
    AEReadParty2Signed:
      type: object
      required:
        - iss
        - exp
        - nbf
        - message
      properties:
        iss:
          type: string
          description: >-
            [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
        exp:
          type: number
          description: >-
            [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
        nbf:
          type: number
          description: >-
            [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
        aud:
          type: array
          items:
            type: string
          description: >-
            [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
        iat:
          type: number
          description: >-
            [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)
        message:
          $ref: '#/components/schemas/AEReadParty2'
      additionalProperties: false
    AEErrorResponse:
      description: >-
        An array of detail error codes, and messages, and URLs to documentation
        to help remediation.
      type: object
      properties:
        Errors:
          items:
            $ref: '#/components/schemas/AEError'
          type: array
          minItems: 1
      required:
        - Errors
      additionalProperties: false
    AEErrorSignedResponse:
      type: object
      required:
        - iss
        - exp
        - nbf
        - message
      properties:
        iss:
          type: string
          description: >-
            [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
        exp:
          type: number
          description: >-
            [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
        nbf:
          type: number
          description: >-
            [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
        aud:
          type: array
          items:
            type: string
          description: >-
            [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
        iat:
          type: number
          description: >-
            [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)
        message:
          $ref: '#/components/schemas/AEErrorResponse'
      description: Signed error response payload
      additionalProperties: false
    AEReadParty2Data:
      type: object
      required:
        - AccountId
        - Party
      properties:
        AccountId:
          $ref: '#/components/schemas/AccountId'
        Party:
          type: array
          items:
            $ref: '#/components/schemas/AEPartyIdentityAssurance2'
      description: Primary data for the resource
      additionalProperties: false
    LinksResource:
      type: object
      required:
        - Self
      properties:
        Self:
          $ref: '#/components/schemas/Self'
        First:
          $ref: '#/components/schemas/First'
        Prev:
          $ref: '#/components/schemas/Prev'
        Next:
          $ref: '#/components/schemas/Next'
        Last:
          $ref: '#/components/schemas/Last'
      description: Links relevant to the resource
      additionalProperties: false
    MetaTotalPages:
      description: Meta Data relevant to the resource
      type: object
      required:
        - TotalPages
      properties:
        TotalPages:
          $ref: '#/components/schemas/TotalPages'
      additionalProperties: false
    AEError:
      description: Error
      type: object
      properties:
        Code:
          description: Low level textual error code, e.g., Field.Missing
          type: string
          enum:
            - AccessToken.Unauthorized
            - AccessToken.InvalidScope
            - Consent.Revoked
            - Consent.TransientAccountAccessFailure
            - Consent.AccountTemporarilyBlocked
            - Consent.PermanentAccountAccessFailure
            - Consent.Invalid
            - JWS.InvalidSignature
            - JWS.Malformed
            - JWS.InvalidClaim
            - JWS.InvalidHeader
            - GenericRecoverableError
            - GenericError
            - JWE.DecryptionError
            - JWE.InvalidHeader
            - Event.UnexpectedEvent
            - Body.InvalidFormat
            - Resource.InvalidResourceId
            - Resource.InvalidFormat
            - Consent.BusinessRuleViolation
        Message:
          description: >-
            A description of the error that occurred. e.g., 'A mandatory field
            isn't supplied' or 'RequestedExecutionDateTime must be in future'

            UAEOF doesn't standardise this field
          type: string
          minLength: 1
          maxLength: 500
        Path:
          description: >-
            Recommended but optional reference to the JSON Path of the field
            with error, e.g., Data.Initiation.InstructedAmount.Currency
          type: string
          minLength: 1
          maxLength: 500
        Url:
          description: >-
            URL to help remediate the problem, or provide more information, or
            to API Reference, or help etc
          type: string
      required:
        - Code
        - Message
      additionalProperties: false
      minProperties: 1
    AccountId:
      description: >-
        A unique and immutable identifier produced by the LFI to identify the
        account resource.This identifier has no meaning to the account owner
        (User 1).
      type: string
      minLength: 1
      maxLength: 40
    AEPartyIdentityAssurance2:
      type: object
      required:
        - PartyId
        - PartyType
        - AccountRole
        - VerifiedClaims
      properties:
        PartyId:
          type: string
          minLength: 1
          maxLength: 40
          description: >-
            A unique and immutable identifier used to identify the customer
            resource. This identifier has no meaning to the account owner.
        PartyNumber:
          type: string
          minLength: 1
          maxLength: 35
          description: Number assigned by an agent to identify its customer.
        PartyType:
          $ref: '#/components/schemas/AEExternalPartyTypeCode'
        AccountRole:
          $ref: '#/components/schemas/AEExternalAccountRoleCode'
        VerifiedClaims:
          type: array
          items:
            $ref: '#/components/schemas/VerifiedClaim'
          description: >-
            Container object containing entries for the trust framework and the
            evidence used to verify the claims
      description: >
        Party Identity Assurance (Response) Schema 

        Based on the [OpenID Connect for Identity Assurance 1.0
        Specification](https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html)
      additionalProperties: false
    Self:
      description: A link to the current resource
      type: string
      format: uri
    First:
      description: A link to the first page in a paginated result set
      type: string
      format: uri
    Prev:
      description: A link to the previous page in a paginated result set
      type: string
      format: uri
    Next:
      description: A link to the next page in a paginated result set
      type: string
      format: uri
    Last:
      description: A link to the last page in a paginated result set
      type: string
      format: uri
    TotalPages:
      description: Total number of Pages where a result set is paginated
      type: integer
      format: int32
      minimum: 0
    AEExternalPartyTypeCode:
      type: string
      enum:
        - Delegate
        - Joint
        - Sole
      description: >
        Specifies the party type.

        Encoded with allowable values: 

        "Delegate" - Used for business accounts when user has delegated
        authority to access the account , 

        "Joint" - Party is a joint owner of the account 

        "Sole" - Party is the sole owner of the account
    AEExternalAccountRoleCode:
      description: >
        Specifies the Party's role with respect to the related account. Allowed
        values 

        are defined based on ISO 20022 definitions as follows:

          - Administrator: The party that administers the account and is not the 
            account owner.
          - Beneficiary: Ultimate party that is entitled to either receive the benefits 
            of the ownership of the account.
          - CustodianForMinor: Entity that holds the account on behalf of a legal 
            minor. Although the account is registered under the name of the minor, 
            the custodian retains control of the account.
          - Granter: Granter role in the hedge funds industry.
          - LegalGuardian: Party that has been appointed by a legal authority to act on 
            behalf of a person judged to be incapacitated.
          - OtherParty: An other type of party. Used when a given account role cannot 
            be mapped to the role defined at the LFI.
          - PowerOfAttorney: Power of attorney which is held by the party.
          - Principal: Party acts as principal for the account for trading purposes.
          - Protector: Person appointed under a trust instrument to direct or 
            restrain the trustees in relation to their administration of an account 
            held in trust. 
          - RegisteredShareholderName: Party for which shares are to be registered,
            for share holding accounts only.
          - SecondaryOwner: Entity that is not the primary owner when the ownership of 
            an investment account is split among several owners.
          - SeniorManagingOfficial: Party that makes, or participates in the making of, 
            decisions that affect the whole, or a substantial part, of the business of 
            a customer of a reporting entity or that has the capacity to affect 
            significantly the financial standing of a customer of a reporting entity.
          - Settlor: Entity that creates a trust or contributes assets to the trust.
          - SuccessorOnDeath: Deceased's estate, or successor, to whom account 
            ownership will be transferred upon the death of one of the 
            owners.
      type: string
      enum:
        - Administrator
        - Beneficiary
        - CustodianForMinor
        - Granter
        - LegalGuardian
        - OtherParty
        - PowerOfAttorney
        - Principal
        - Protector
        - RegisteredShareholderName
        - SecondaryOwner
        - SeniorManagingOfficial
        - Settlor
        - SuccessorOnDeath
    VerifiedClaim:
      type: object
      required:
        - Verification
        - Claims
      properties:
        Verification:
          $ref: '#/components/schemas/VerifiedClaimVerification'
        Claims:
          allOf:
            - $ref: '#/components/schemas/Claims'
          description: >
            Standard Claims: 

            [https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims](https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims)

            IdentityAssurance Claims:

            [https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html#name-claims](https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html#name-claims)
      description: >
        Verified Claims

        Container object containing entries for the trust framework and the
        evidence used to verify the claims

        [https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html#name-representing-verified-claim](https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html#name-representing-verified-claim)
      additionalProperties: false
    VerifiedClaimVerification:
      type: object
      required:
        - TrustFramework
      properties:
        TrustFramework:
          $ref: '#/components/schemas/TrustFrameworkCode'
        AssuranceLevel:
          type: string
          description: >
            Determines the assurance level associated with the User in the
            respective VerifiedClaims. The value range depends on the respective
            TrustFramework value.

            Assurance Level:
            [https://bitbucket.org/openid/ekyc-ida/wiki/identifiers](https://bitbucket.org/openid/ekyc-ida/wiki/identifiers)
        AssuranceProcess:
          $ref: '#/components/schemas/AssuranceProcess'
        Time:
          allOf:
            - $ref: '#/components/schemas/ISODateTime'
          description: >
            Representing the date and time when the identity verification
            process took place. All dates in the JSON payloads are represented
            in ISO 8601 date-time format. All date-time fields in responses must
            include the timezone. An example is below: 2017-04-05T10:43:07+00:00
        VerificationProcess:
          type: string
          description: >
            Unique reference to the identity verification process as performed
            by the OP. Used for identifying and retrieving details in case of
            disputes or audits. Presence of this element might be required for
            certain trust frameworks.
        Evidence:
          allOf:
            - $ref: '#/components/schemas/EvidenceType'
          description: >
            The type of evidence allowed for providing verification.

            OpenID Connect for Identity Assurance 1.0:
            [https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html#name-evidence-element](https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html#name-evidence-element)                
      description: >
        Verification

        [https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html#name-verification-element](https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html#name-verification-element)
      additionalProperties: false
    Claims:
      type: object
      properties:
        GivenName:
          type: string
          description: >-
            Given name of the Party. Given name (also called forename) is used
            to differentiate from the surname or family name.
        Surname:
          type: string
          description: Surname of the Party
        MiddleName:
          type: string
          description: Middle name of the Party
        Nickname:
          type: string
          description: Nickname of the Party
        EmiratesId:
          type: string
          description: Emirates ID number of the Party
        EmiratesIdExpiryDate:
          type: string
          format: date
          description: Emirates ID card expiry date
        DateOfBirth:
          type: string
          format: date
          description: Date of birth of the Party
        SourceOfIncome:
          type: string
        Salary:
          type: number
        Nationality:
          type: string
        ResidentialAddress:
          $ref: '#/components/schemas/AEPartyIdentityAddressClaim'
        MobileNumber:
          type: string
        Email:
          type: string
        MaritalStatus:
          type: string
        Salutation:
          type: string
        Language:
          type: string
        EmployerName:
          type: string
        EmploymentSinceDate:
          type: string
          format: date
        PowerofAttorney:
          type: boolean
        SalaryTransfer:
          type: boolean
        Profession:
          type: string
        UpdatedAt:
          type: string
          format: time
      description: >
        Standard Claims: 

        [https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims](https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims)

        IdentityAssurance Claims:

        [https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html#name-claims](https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html#name-claims)
      additionalProperties: false
    TrustFrameworkCode:
      type: string
      enum:
        - Undefined
      description: >-
        Identifies the trust framework used for verification. This consists of a
        set of rules and standards and sets out requirements so that
        organisations know what ‘good’ identity verification looks like.

        Trust Frameworks:
        [https://bitbucket.org/openid/ekyc-ida/wiki/identifiers](https://bitbucket.org/openid/ekyc-ida/wiki/identifiers)
    AssuranceProcess:
      type: object
      required:
        - Policy
        - Procedure
        - AssuranceDetails
      properties:
        Policy:
          type: string
          description: Representing the standard or policy that was followed.
        Procedure:
          type: string
          description: Representing a specific procedure from the policy that was followed.
        AssuranceDetails:
          type: array
          items:
            $ref: '#/components/schemas/AssuranceDetails'
      description: >
        Determines the assurance process that was followed. This reflects how
        the evidence meets the requirements of the TrustFramework and
        AssuranceLevel. The factual record of the evidence and the procedures
        followed are recorded in the evidence element, this element is used to
        cross reference the evidence to the AssuranceLevel followed

        OpenID Connect for Identity Assurance 1.0:
        [https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html#name-verification-element](https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html#name-verification-element)                
      additionalProperties: false
    ISODateTime:
      description: >-
        All dates in the JSON payloads are represented in ISO 8601 date-time
        format. 

        All date-time fields in responses must include the timezone. An example
        is below:

        2017-04-05T10:43:07+00:00
      type: string
      format: date-time
    EvidenceType:
      anyOf:
        - $ref: '#/components/schemas/AEPartyIdentityEvidenceTypeDocument'
        - $ref: '#/components/schemas/AEPartyIdentityEvidenceTypeElectronicRecord'
    AEPartyIdentityAddressClaim:
      type: object
      required:
        - Formatted
        - StreetAddress
        - Locality
        - Region
        - PostalCode
        - Country
      properties:
        Formatted:
          type: string
          description: |
            The address number and street claim that has been verified.
        StreetAddress:
          type: string
          description: |
            The address street claim that has been verified.
        Locality:
          type: string
          description: >
            The address locality (village, town, city etc) claim that has been
            verified.
        Region:
          type: string
          description: |
            The address region claim that has been verified.
        PostalCode:
          $ref: '#/components/schemas/PostalCode'
        Country:
          $ref: '#/components/schemas/CountryCode'
      description: >
        Address object as per OpenID Connect Core 1.0 Address Claim

        [https://openid.net/specs/openid-connect-core-1_0.html#AddressClaim](https://openid.net/specs/openid-connect-core-1_0.html#AddressClaim)
      additionalProperties: false
    AssuranceDetails:
      type: object
      required:
        - AssuranceType
        - AssuranceClassification
        - EvidenceRef
      properties:
        AssuranceType:
          type: string
          description: >-
            String denoting which part of the assurance_process the evidence
            fulfils
        AssuranceClassification:
          type: string
          description: >-
            String reflecting how the evidence has been classified or measured
            as required by the TrustFramework
        EvidenceRef:
          type: array
          items:
            $ref: '#/components/schemas/EvidenceRef'
      description: Denoting the details about how the evidence complies with the policy
      additionalProperties: false
    AEPartyIdentityEvidenceTypeDocument:
      type: object
      properties:
        Type:
          allOf:
            - $ref: '#/components/schemas/DocumentEvidenceType'
          description: The type of evidence allowed for providing verification.
        CheckDetails:
          type: array
          items:
            $ref: '#/components/schemas/AEPartyIdentityCheckDetail'
        Verifier:
          $ref: '#/components/schemas/DocumentEvidenceVerifier'
        Time:
          $ref: '#/components/schemas/ISODateTime'
        DocumentDetails:
          $ref: '#/components/schemas/DocumentEvidenceDetails'
        Attachments:
          $ref: '#/components/schemas/AEPartyIdentityEvidenceAttachments'
      description: >
        Document Evidence

        [https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html#name-evidence-type-document](https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html#name-evidence-type-document)
      additionalProperties: false
    AEPartyIdentityEvidenceTypeElectronicRecord:
      type: object
      properties:
        Type:
          allOf:
            - $ref: '#/components/schemas/ElectronicRecordEvidenceType'
          description: The type of evidence allowed for providing verification.
        CheckDetails:
          type: array
          items:
            $ref: '#/components/schemas/AEPartyIdentityCheckDetail'
        Time:
          $ref: '#/components/schemas/ISODateTime'
        Record:
          $ref: '#/components/schemas/ElectronicRecordProperties'
        Attachments:
          $ref: '#/components/schemas/AEPartyIdentityEvidenceAttachments'
      description: >
        Electronic Record Evidence

        [https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html#name-evidence-type-electronic_re](https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html#name-evidence-type-electronic_re)
      additionalProperties: false
    PostalCode:
      type: object
      required:
        - PostalCode
      properties:
        PostalCode:
          type: string
          minLength: 5
          maxLength: 5
          description: >-
            Identifier consisting of a group of letters and/or numbers that is
            added to a postal address to assist the sorting of mail.
      additionalProperties: false
    CountryCode:
      type: object
      required:
        - CountryCode
      properties:
        CountryCode:
          type: string
          pattern: ^[A-Z]{2,2}$
          description: Nation with its own government, occupying a particular territory.
      additionalProperties: false
    EvidenceRef:
      type: object
      required:
        - Txn
        - EvidenceMetadata
      properties:
        Txn:
          type: string
          description: Identifier referring to the txn used in the CheckDetails.
        EvidenceMetadata:
          $ref: '#/components/schemas/EvidenceMetadata'
      description: Evidence being referred to
      additionalProperties: false
    DocumentEvidenceType:
      type: string
      enum:
        - document
    AEPartyIdentityCheckDetail:
      type: object
      properties:
        CheckMethod:
          type: string
          description: >
            Identifes the method used by PASP for checking the evidence for
            verification

            String representing the check done, this includes processes such as
            checking the authenticity of the document, or verifying the user's
            biometric against an identity document.
        Organization:
          type: string
          description: >
            String denoting the legal entity that performed the check. This
            SHOULD be included if the OP did not perform the check itself
        Txn:
          type: string
          description: >
            Identifier referring to the identity verification transaction. The
            OP MUST ensure that this is present when EvidenceRef element is
            used. The OP MUST ensure that the transaction identifier can be
            resolved into transaction details during an audit
        Time:
          $ref: '#/components/schemas/ISODateTime'
      description: >
        Identifes the method used by PASP for checking the evidence for
        verification.

        Representing the checks done in relation to the evidence

        OpenID Connect for Identity Assurance 1.0:
        [https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html#name-evidence-element](https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html#name-evidence-element)                
      additionalProperties: false
    DocumentEvidenceVerifier:
      type: object
      required:
        - Organization
      properties:
        Organization:
          type: string
          description: >-
            String denoting the organization which performed the verification on
            behalf of the OP.
        Txn:
          type: string
          description: >-
            Identifier referring to the identity verification transaction. The
            OP MUST ensure that the transaction identifier can be resolved into
            transaction details during an audit.
      description: >-
        Denoting the legal entity that performed the identity verification. This
        object SHOULD be included if the OP did not perform the identity
        verification itself. This object is retained for backward compatibility,
        implementers are recommended to use CheckDetails & Organization instead
      additionalProperties: false
    DocumentEvidenceDetails:
      type: object
      properties:
        Type:
          $ref: '#/components/schemas/DocumentEvidenceDetailsType'
        DocumentNumber:
          type: string
          description: The unique id number in the evidence used for verification checking
        PersonalNumber:
          type: string
          description: >
            An identifier that is assigned to the End-User and is not limited to
            being used in one document, for example a national identification
            number, personal identity number, citizen number, social security
            number, driver number, account number, customer number, licensee
            number, etc
        SerialNumber:
          type: string
          description: >
            An identifier/number that identifies the document irrespective of
            any personalization information (this usually only applies to
            physical artifacts and is present before personalization).
        CalendarType:
          $ref: '#/components/schemas/AEPartyCalendarType'
        DateOfIssuance:
          $ref: '#/components/schemas/ISODateTime'
        DateOfExpiry:
          $ref: '#/components/schemas/ISODateTime'
        Issuer:
          $ref: '#/components/schemas/DocumentEvidenceDetailsIssuer'
      description: 'Representing the document used to perform the identity verification. '
      additionalProperties: false
    AEPartyIdentityEvidenceAttachments:
      type: object
      required:
        - AEPartyIdentityEvidenceAttachments
      properties:
        AEPartyIdentityEvidenceAttachments:
          type: array
          items:
            $ref: '#/components/schemas/AEPartyIdentityEvidenceAttachment'
          description: >
            Attachments

            [https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html#name-attachments](https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html#name-attachments)
      additionalProperties: false
    ElectronicRecordEvidenceType:
      type: string
      enum:
        - electronic_record
    ElectronicRecordProperties:
      type: object
      required:
        - Type
        - PersonalNumber
        - CalendarType
        - CreatedAt
        - DateOfExpiry
        - Source
      properties:
        Type:
          $ref: '#/components/schemas/ElectronicRecordType'
        PersonalNumber:
          type: string
          description: >
            String representing an identifier that is assigned to the User and
            is not limited to being used in one record, for example a national
            identification number, personal identity number, citizen number,
            social security number, driver number, account number, customer
            number, licensee number, etc.
        CalendarType:
          $ref: '#/components/schemas/AEPartyCalendarType'
        CreatedAt:
          $ref: '#/components/schemas/ISODateTime'
        DateOfExpiry:
          $ref: '#/components/schemas/ISODateTime'
        Source:
          $ref: '#/components/schemas/ElectronicRecordSourceProperties'
      description: |
        Representing the record used to perform the identity verification.
      additionalProperties: false
    EvidenceMetadata:
      type: object
      required:
        - EvidenceClassification
      properties:
        EvidenceClassification:
          type: string
      description: >-
        Object indicating any meta data about the evidence that is required by
        the AssuranceProcess in order to demonstrate compliance with the
        TrustFramework. It has the following sub-elements
      additionalProperties: false
    DocumentEvidenceDetailsType:
      type: string
      enum:
        - passport
        - driving_permit
        - idcard
        - residence_permit
      description: >
        The type of document used for evidence checking

        [https://bitbucket.org/openid/ekyc-ida/wiki/identifiers](https://bitbucket.org/openid/ekyc-ida/wiki/identifiers)"
    AEPartyCalendarType:
      type: string
      enum:
        - IslamicCalendar
        - GregorianCalendar
      description: >
        The type of calendar used for the date of issuance and date of expiry in
        the document evidence

        Allowable values:

        "Islamic Calendar"

        "Gregorian Calendar"

        Both calendars must follow YYYY-MM-DD
    DocumentEvidenceDetailsIssuer:
      type: object
      required:
        - Name
        - Address
        - CountryCode
        - Jurisdiction
      properties:
        Name:
          type: string
          description: |
            Designation of the issuer of the document.
        Address:
          $ref: '#/components/schemas/AEPartyIdentityAddressClaim'
        CountryCode:
          allOf:
            - $ref: '#/components/schemas/CountryCode'
          description: >
            String denoting the country or supranational organization that
            issued the document as ISO 3166
        Jurisdiction:
          type: string
          description: >
            String containing the name of the
            region(s)/state(s)/province(s)/municipality(ies) that issuer has
            jurisdiction over (if this information is not common knowledge or
            derivable from the address)
      description: Containing information about the issuer of this document.
      additionalProperties: false
    AEPartyIdentityEvidenceAttachment:
      type: object
      required:
        - Desc
        - ContentType
        - Content
        - Txn
      properties:
        Desc:
          type: string
          description: >
            Description of the document. This can be the filename or just an
            explanation of the content.
        ContentType:
          type: string
          description: |
            Content (MIME) type of the document            
        Content:
          type: string
          description: |
            Base64 encoded representation of the document content
        Txn:
          type: string
          description: |
            Identifier referring to the transaction
      additionalProperties: false
    ElectronicRecordType:
      type: string
      enum:
        - bank_account
        - mortgage_account
        - loan_account
      description: |
        String denoting the type of electronic record
    ElectronicRecordSourceProperties:
      type: object
      required:
        - Name
        - Address
        - CountryCode
        - Jurisdiction
      properties:
        Name:
          type: string
          description: |
            Designation of the source of the electronic_record
        Address:
          $ref: '#/components/schemas/AEPartyIdentityAddressClaim'
        CountryCode:
          allOf:
            - $ref: '#/components/schemas/CountryCode'
          description: >
            String denoting the country or supranational organization that
            issued the evidence as ISO 3166
        Jurisdiction:
          type: string
          description: >
            String containing the name of the region(s) / state(s) / province(s)
            / municipality(ies) that source has jurisdiction over (if it's not
            common knowledge or derivable from the address)
      description: |
        Information about the source of this record
      additionalProperties: false
  securitySchemes:
    UserOAuth2Security:
      type: oauth2
      description: >-
        [OAuth2 PAR flow](https://datatracker.ietf.org/doc/html/rfc9126), it is
        required when the User needs to perform SCA with the LFI when a TPP
        wants to access an LFI resource owned by the User. **Please refer to
        [OpenID FAPI Security Profile 1.0 -Part 2
        Advanced](https://openid.net/specs/openid-financial-api-part-2-1_0.html#authorization-server)
        - 5.2.2 point 14 - shall authenticate the confidential client using one
        of the following methods private_key_jwt and [OpenID Connect Core
        1.0](https://openid.net/specs/openid-connect-core-1_0.html#ClientAuthentication)
        9. Client Authentication private_key_jwt**
      flows:
        authorizationCode:
          authorizationUrl: https://authserver.example/authorization
          tokenUrl: https://authserver.example/token
          scopes:
            openid: Activates OpenID Connect Support
            accounts: >-
              Ability to read Accounts Information. This is a parameterized
              scope with the ConsentId

````