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

# Get Transaction Detail

> Obtain detailed information on a transaction for a specific account



## OpenAPI

````yaml /openapi/cdr.yml get /v1/banking/customer/{customerId}/accounts/{accountId}/transactions/{transactionId}
openapi: 3.0.3
info:
  description: Fiskil Data Holder as a Service (DHaaS) endpoints for the Energy sector
  title: Fiskil Data APIs
  version: 1.5.0
servers:
  - url: https://api.provider.fiskil.com
security:
  - bearerAuth: []
paths:
  /v1/banking/customer/{customerId}/accounts/{accountId}/transactions/{transactionId}:
    get:
      tags:
        - Banking
        - Accounts
      summary: Get Transaction Detail
      description: Obtain detailed information on a transaction for a specific account
      operationId: getTransactionDetail
      parameters:
        - $ref: '#/components/parameters/customerId'
        - $ref: '#/components/parameters/accountId'
        - description: >-
            ID of the transaction obtained from a previous call to one of the
            other transaction end points
          explode: false
          in: path
          name: transactionId
          required: true
          schema:
            type: string
            x-cds-type: ASCIIString
          style: simple
          x-cds-type: ASCIIString
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseBankingTransactionById'
          description: Details of the requested transaction
        '404':
          content:
            application/json:
              schema:
                properties:
                  errors:
                    items:
                      properties:
                        code:
                          description: >-
                            The CDR Invalid Resource error code:
                            `urn:au-cds:error:cds-all:Resource/Invalid`
                          type: string
                        title:
                          description: >-
                            A short, human-readable summary of the problem that
                            MUST NOT change from occurrence to occurrence of the
                            problem represented by the error code.
                          type: string
                        detail:
                          description: >-
                            A human-readable explanation specific to this
                            occurrence of the problem.
                          type: string
                      required:
                        - code
                        - detail
                        - title
                      type: object
                    type: array
                required:
                  - errors
                type: object
                example:
                  errors:
                    - code: urn:au-cds:error:cds-all:Resource/Invalid
                      title: Invalid transaction ID
                      detail: Transaction with the given ID does not exist
          description: >-
            CDR compatible 404 error for when the transaction is not found. If
            the customer or account are not found, the resposne body is not
            required.
components:
  parameters:
    customerId:
      description: >-
        Unique ID of a customer. This ID must not change for the lifecycle of
        the customer
      explode: false
      in: path
      name: customerId
      required: true
      schema:
        type: string
      style: simple
    accountId:
      description: ID of a specific account to obtain data for.
      explode: false
      in: path
      name: accountId
      required: true
      schema:
        type: string
      style: simple
  schemas:
    ResponseBankingTransactionById:
      example:
        data:
          accountId: 7377538f-4d4b-4eb3-8377-cd40778836d2
          transactionId: dbbe9043-a440-4fbb-a3f3-cdd3bb9843b7
          isDetailAvailable: true
          type: TRANSFER_OUTGOING
          status: POSTED
          description: Split pizza bill
          postingDateTime: '2025-01-01T07:00:00.000Z'
          amount: '22.00'
          reference: Split pizza bill
          extendedData:
            payee: Best Mate
            extensionUType: nppPayload
            nppPayload:
              extendedDescription: Split pizza bill
              endToEndId: '1001'
              service: x2p1
              serviceVersion: '01'
      properties:
        data:
          $ref: '#/components/schemas/BankingTransactionDetail'
      required:
        - data
      type: object
    BankingTransactionDetail:
      allOf:
        - $ref: '#/components/schemas/BankingTransaction'
        - $ref: '#/components/schemas/BankingTransactionDetail_allOf'
    BankingTransaction:
      properties:
        accountId:
          description: ID of the account for which transactions are provided
          type: string
          x-cds-type: ASCIIString
        transactionId:
          description: >-
            A unique ID of the transaction adhering to the standards for ID
            permanence.  This is mandatory (through hashing if necessary) unless
            there are specific and justifiable technical reasons why a
            transaction cannot be uniquely identified for a particular account
            type. It is mandatory if `isDetailAvailable` is set to true.
          type: string
          x-cds-type: ASCIIString
        isDetailAvailable:
          description: >-
            True if extended information is available using the transaction
            detail end point. False if extended data is not available
          type: boolean
          x-cds-type: Boolean
        type:
          description: The type of the transaction
          enum:
            - DIRECT_DEBIT
            - FEE
            - INTEREST_CHARGED
            - INTEREST_PAID
            - OTHER
            - PAYMENT
            - TRANSFER_INCOMING
            - TRANSFER_OUTGOING
          type: string
        status:
          description: >-
            Status of the transaction whether pending or posted. Note that there
            is currently no provision in the standards to guarantee the ability
            to correlate a pending transaction with an associated posted
            transaction
          enum:
            - PENDING
            - POSTED
          type: string
        description:
          description: The transaction description as applied by the financial institution
          type: string
        postingDateTime:
          description: >-
            The time the transaction was posted. This field is Mandatory if the
            transaction has status POSTED.  This is the time that appears on a
            standard statement
          type: string
          x-cds-type: DateTimeString
        valueDateTime:
          description: >-
            Date and time at which assets become available to the account owner
            in case of a credit entry, or cease to be available to the account
            owner in case of a debit transaction entry
          type: string
          x-cds-type: DateTimeString
        executionDateTime:
          description: >-
            The time the transaction was executed by the originating customer,
            if available
          type: string
          x-cds-type: DateTimeString
        amount:
          description: >-
            The value of the transaction. Negative values mean money was
            outgoing from the account
          type: string
          x-cds-type: AmountString
        currency:
          description: The currency for the transaction amount. AUD assumed if not present
          type: string
          x-cds-type: CurrencyString
        reference:
          description: >-
            The reference for the transaction provided by the originating
            institution. Empty string if no data provided
          type: string
        merchantName:
          description: Name of the merchant for an outgoing payment to a merchant
          type: string
        merchantCategoryCode:
          description: >-
            The merchant category code (or MCC) for an outgoing payment to a
            merchant
          type: string
        billerCode:
          description: BPAY Biller Code for the transaction (if available)
          type: string
        billerName:
          description: Name of the BPAY biller for the transaction (if available)
          type: string
        crn:
          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
            otherwise sensitive, then it should be masked using the rules
            applicable for the MaskedAccountString common type.
          type: string
        apcaNumber:
          description: >-
            6 Digit APCA number for the initiating institution. The field is
            fixed-width and padded with leading zeros if applicable.
          type: string
      required:
        - accountId
        - amount
        - description
        - isDetailAvailable
        - reference
        - status
        - type
      type: object
      x-conditional:
        - transactionId
        - postingDateTime
        - crn
    BankingTransactionDetail_allOf:
      properties:
        extendedData:
          $ref: '#/components/schemas/BankingTransactionDetail_allOf_extendedData'
      required:
        - extendedData
      type: object
    BankingTransactionDetail_allOf_extendedData:
      properties:
        payer:
          description: Label of the originating payer. Mandatory for inbound payment
          type: string
        payee:
          description: >-
            Label of the target PayID.  Mandatory for an outbound payment. The
            name assigned to the BSB/Account Number or PayID (by the owner of
            the PayID)
          type: string
        extensionUType:
          description: Optional extended data specific to transactions originated via NPP
          enum:
            - nppPayload
          type: string
        nppPayload:
          $ref: >-
            #/components/schemas/BankingTransactionDetail_allOf_extendedData_nppPayload
      type: object
      x-conditional:
        - payer
        - payee
        - x2p101Payload
    BankingTransactionDetail_allOf_extendedData_nppPayload:
      properties:
        extendedDescription:
          description: >-
            An extended string description. Required if the extensionUType field
            is `nppPayload`
          type: string
        endToEndId:
          description: An end to end ID for the payment created at initiation
          type: string
        purposeCode:
          description: >-
            Purpose of the payment. Format is defined by NPP standards for the
            x2p1.01 overlay service
          type: string
        service:
          type: string
          description: >-
            Identifier of the applicable overlay service. The service is used in
            conjunction with the serviceVersion. See
            [here](https://consumerdatastandardsaustralia.github.io/standards/#npp-services)
            for more details.
        serviceVersion:
          type: string
          description: Two-digit NPP service overlay version with leading zero.
      type: object
      required:
        - service
        - serviceVersion
  securitySchemes:
    bearerAuth:
      description: >
        The Fiskil Data Provider will include a self-signed JWT as a Bearer
        token in the `Authorization` header.

        You should verify this JWT using the JWKS URL you can find for your Data
        Provider instance in the Fiskil

        Console. To verify the JWT you **must**:
          * Verify the signature
          * Ensure the token has not expired by checking the `exp` claim
          * The `sub` and `iss` claims are your data provider subdomain
          * The `aud` claim is the URI of the resource being requested (excluding any query parameters)
          * The `jti` value is unique
        For further detail on security and authentication refer to our
        [Authentication](/docs/get-started/authentication) documentation
      type: http
      scheme: bearer
      bearerFormat: JWT

````