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

# Fetch the details for a specific alert



## OpenAPI

````yaml /specs/KYT-V2-Transaction-Monitoring.json get /alerts/{alertId}
openapi: 3.0.3
info:
  version: 2.0.0
  title: KYT V2 Transaction Monitoring
  description: >
    The Fraud and Transaction Monitoring API is designed to accept the full
    details of a transaction, process it, and provide recommendations. 


    The API can analyse the details by comparing them against past history and
    other data, and run all of these through a set of sophisticated rules.
    Afterwards, you can get a recommendation as to whether a transaction should
    be allowed to proceed, proceed with a warning, be held for investigation, or
    be rejected, outright.


    The service is designed to respond in realtime to support modern,
    high-speed, high-volume financial transaction services.


    **We also hold open the option of accepting existing message formats and we
    will transform those in real time, mapping the details to our own internal
    structure for a consistent experience and results.**


    Please speak with your FrankieOne account manager should you wish us to
    assist with this.


    Access to the API and keys available on request.


    ## Glossary


    **Check** - A transaction assessment that execute against the API, this
    represents an event that has happened and wants to verified for risk.


    **Result** - A categorized risk factor returned for a transaction check,
    these are returned from the configured upstream vendors and represent the
    different factors of the transaction's risk profile.


    **Transaction** - An activity that an end user has performed, the type of
    the activity is based on the activityType property.


    **Alert** - A result that has come from a transaction check that meets the
    criteria defined for your configuration. This represents a result that was
    returned that requires the attention of someone in your organization.


    **Entity** - A FrankieOne entity, this can be representative of a business,
    person or construct that exists within the FrankieOne Platform.
  contact:
    email: help@frankieone.com
servers:
  - url: https://api.kycaml.frankiefinancial.io/transaction/v2
    description: Production API Base URL
  - url: https://api.kycaml.uat.frankiefinancial.io/transaction/v2
    description: UAT Environment API Base URL
security:
  - apiKey: []
tags:
  - name: Status
    description: >-
      Service status operations you can use to make sure things are up and
      running.
  - name: Transactions
    description: >-
      Operations that are associated with the execution of a transaction risk
      assessment
  - name: Alerts
    description: Operations that are associated with alerts
  - name: Risk
    description: Operations associated with risk assessment for an entity
paths:
  /alerts/{alertId}:
    get:
      tags:
        - Alerts
      summary: Fetch the details for a specific alert
      operationId: fetchAlert
      parameters:
        - $ref: '#/components/parameters/X-Frankie-CustomerID'
        - $ref: '#/components/parameters/X-Frankie-CustomerChildID'
        - $ref: '#/components/parameters/AlertIdParam'
      responses:
        '200':
          description: Alert information
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AlertDetail'
        '401':
          $ref: '#/components/responses/401Unauthorized'
        '404':
          $ref: '#/components/responses/404NotFound'
        '500':
          $ref: '#/components/responses/500InternalServerError'
      security:
        - apiKey: []
components:
  parameters:
    X-Frankie-CustomerID:
      name: X-Frankie-CustomerID
      in: header
      required: true
      schema:
        type: string
        example: 12345678-1234-1234-1234-123456789012
      description: Your Customer ID provided by FrankieOne
    X-Frankie-CustomerChildID:
      name: X-Frankie-CustomerChildID
      in: header
      required: false
      schema:
        type: string
        example: 87654321-4321-4321-4321-210987654321
      description: Your Customer Child ID provided by FrankieOne
    AlertIdParam:
      required: true
      description: Unique identifier of a Transaction Check Alert
      in: path
      name: alertId
      schema:
        $ref: '#/components/schemas/AlertId'
  schemas:
    AlertDetail:
      type: object
      allOf:
        - $ref: '#/components/schemas/AlertSummary'
        - properties:
            originatingCheck:
              $ref: '#/components/schemas/TransactionEvent'
    AlertId:
      type: string
      example: db30f17e-5e79-4185-b7d5-6dfc06478055
      description: >-
        The unique identifier for an alert that has been created when customer
        configuration thresholds are breached.
    AlertSummary:
      type: object
      required:
        - checkId
        - alertId
        - resultId
        - entityId
        - activityType
        - transactionTimestamp
        - createdDate
        - lastUpdated
        - status
        - riskLevel
        - source
        - issueType
      properties:
        checkId:
          $ref: '#/components/schemas/CheckId'
        alertId:
          $ref: '#/components/schemas/AlertId'
        resultId:
          $ref: '#/components/schemas/ResultId'
        entityId:
          $ref: '#/components/schemas/EntityId'
        riskToken:
          $ref: '#/components/schemas/RiskToken'
        paymentId:
          description: >-
            Identifier for the customer transaction, only populated for
            financial transaction checks
          type: string
        transactionTimestamp:
          description: ISO-8601 format date-time that the transaction occurred
          type: string
          format: datetime
        createdDate:
          description: ISO-8601 format date-time that the alert was created
          type: string
          format: datetime
        lastUpdated:
          description: ISO-8601 format date-time of the time that alert was last updated
          type: string
          format: datetime
        status:
          $ref: '#/components/schemas/EnumAlertStatus'
        riskLevel:
          $ref: '#/components/schemas/EnumRiskLevel'
        activityType:
          $ref: '#/components/schemas/EnumActivityType'
        paymentType:
          $ref: '#/components/schemas/EnumPaymentType'
        source:
          type: string
          description: Name of the upstream vendor of where the alert came from
        sourceLink:
          type: string
          description: >-
            URL to the upstream vendor to provide more information about the
            transaction
        deviceId:
          description: >-
            Identifier of the device that was used for this check, this would be
            provided from the initial request data
          type: string
        assignedTo:
          description: Current FrankieOne Portal user that is assigned to this user
          type: string
        amount:
          $ref: '#/components/schemas/AlertAmount'
        issueType:
          $ref: '#/components/schemas/EnumRiskResultType'
        subtype:
          description: The subtype of the risk check
          type: string
    TransactionEvent:
      type: object
      description: >-
        A recorded activity that is/has been assessed by the Transaction
        Monitoring Service
      required:
        - transactionId
        - customer
        - activity
        - riskToken
      properties:
        riskToken:
          $ref: '#/components/schemas/RiskToken'
        checkId:
          deprecated: true
          type: string
          description: (Deprecated in favor of transactionId)
        transactionId:
          type: string
          description: >-
            Identifier for the transaction monitoring check, should be unique
            per transaction
        customer:
          $ref: '#/components/schemas/PartyDetails'
        device:
          $ref: '#/components/schemas/DeviceDetails'
        activity:
          oneOf:
            - $ref: '#/components/schemas/FiatDepositActivity'
            - $ref: '#/components/schemas/FiatWithdrawalActivity'
            - $ref: '#/components/schemas/CryptoDepositActivity'
            - $ref: '#/components/schemas/CryptoWithdrawalActivity'
            - $ref: '#/components/schemas/LoginActivity'
            - $ref: '#/components/schemas/RegistrationActivity'
          discriminator:
            propertyName: activityType
            mapping:
              REGISTRATION:
                $ref: '#/components/schemas/RegistrationActivity'
              LOGIN:
                $ref: '#/components/schemas/LoginActivity'
              FIAT_WITHDRAWAL:
                $ref: '#/components/schemas/FiatWithdrawalActivity'
              FIAT_DEPOSIT:
                $ref: '#/components/schemas/FiatDepositActivity'
              CRYPTO_WITHDRAWAL:
                $ref: '#/components/schemas/CryptoWithdrawalActivity'
              CRYPTO_DEPOSIT:
                $ref: '#/components/schemas/CryptoDepositActivity'
        extraData:
          $ref: '#/components/schemas/ExtraData'
    ServiceError:
      type: object
      properties:
        commit:
          type: string
          description: Unique identifier of the Service version being used
        requestId:
          $ref: '#/components/schemas/RequestId'
        errorCode:
          type: string
          description: FrankieOne error code
          example: CORE-5990
        errorMsg:
          type: string
          description: Will describe the error
          example: Everything went kaflooey. Stay clam.
        issues:
          type: array
          items:
            $ref: '#/components/schemas/ErrorIssue'
    CheckId:
      type: string
      example: 7eb4432d-398b-40f7-b24b-7d1208b83e2a
      description: >-
        The unique identifier for a transaction monitoring check that was
        execute for a transaction
    ResultId:
      type: string
      example: 89022126-ae30-4d06-b73d-95cf16230d3c
      description: >-
        The unique identifier for a result that was returned from a transaction
        check
    EntityId:
      type: string
      description: The unique identifier for a FrankieOne entity construct
      example: 98ded7ac-2457-4bde-b27c-fcee05301262
    RiskToken:
      type: object
      required:
        - sessionKey
        - userId
      description: >-
        Includes any data required for authorizations by upstream services. To
        confirm if this is required, please reach out to the FrankieOne Support
        team.
      properties:
        sessionKey:
          type: string
        userId:
          type: string
    EnumAlertStatus:
      description: Current status of an alert
      type: string
      enum:
        - PENDING
        - APPROVED
        - MANUALLY_APPROVED
        - MANUALLY_DECLINED
    EnumRiskLevel:
      type: string
      description: Level of risk as determined by the service.
      example: MEDIUM
      enum:
        - NONE
        - LOW
        - MEDIUM
        - HIGH
        - VERY_HIGH
    EnumActivityType:
      type: string
      description: Type of the activity that was used for the check
      enum:
        - REGISTRATION
        - LOGIN
        - FIAT_WITHDRAWAL
        - FIAT_DEPOSIT
        - CRYPTO_WITHDRAWAL
        - CRYPTO_DEPOSIT
    EnumPaymentType:
      type: string
      description: The type of payment that the transaction used.
      enum:
        - CARD
        - BANK
        - WIRE
        - CRYPTO
        - OTHER
    AlertAmount:
      description: The amount described in the transaction risk check
      type: object
      required:
        - value
        - currCode
      properties:
        value:
          type: string
        currCode:
          type: string
    EnumRiskResultType:
      type: string
      description: >-
        Enum of risk assessment groupings, such as customer, device,
        transaction, AML, PEP as determined by the risk checking service
      enum:
        - DEVICE
        - TRANSACTION
        - AML
        - FRAUD
    PartyDetails:
      type: object
      description: >
        A party describes the details of one of the parties in a given
        assessment. It can be used to describe any participant.
      properties:
        customerId:
          type: string
          description: The party's ID in the source service
        customerType:
          type: string
          description: The party's "type" as determined by the source service
        dataSource:
          type: string
          description: >-
            The origin for the party's "data" as determined by the source
            service, such as onboarding or phone
        productType:
          type: string
          description: >-
            The type of product that the party is using, as defined by the
            source service, such as lending
        entityId:
          $ref: '#/components/schemas/EntityId'
        frankieId:
          type: string
          example: 98ded7ac-2457-4bde-b27c-fcee05301262
          deprecated: true
          description: The unique identifier for a FrankieOne entity construct
        createdDatetime:
          type: string
          format: date-time
          description: |
            The date/time of the user creation
            Format is YYYY-MM-DDTHH:MM:SSZ
        firstName:
          type: string
        middleName:
          type: string
        lastName:
          type: string
        dob:
          type: string
          format: YYYY-MM-DD
          description: Customer's date of birth
          example: '1983-04-22'
        address:
          $ref: '#/components/schemas/Address'
        email:
          type: string
        phone:
          type: string
        consent:
          $ref: '#/components/schemas/EnumConsentType'
        nationalId:
          type: string
          description: >-
            Governmental ID, Social Security number (SSN) or Individual Tax
            Identification Number
        companyName:
          type: string
          description: Company name where the party is employed
        extraData:
          $ref: '#/components/schemas/ExtraData'
    DeviceDetails:
      type: object
      description: >-
        Wrapper that will contain additional device data for a given
        transaction. This may be captured through 3rd party services
      properties:
        id:
          type: string
          description: Device ID as determined by the device checking service
        origin:
          type: string
          description: System device ID was originated from
        os:
          type: string
          description: Device operating system
        browser:
          type: string
          description: Device browser (if relevant)
        platform:
          type: string
          description: Device platform
        riskScore:
          type: integer
          format: uint32
          description: Risk score as determine by the device checking service
        ip:
          type: string
          format: ipv4
          description: The IP address converted
        ipGeoAsn:
          type: string
          description: The ASN of the IP address
        ipGeoCity:
          type: string
          description: The city of the IP address (if can be determined)
        ipGeoCountry:
          type: string
          description: The country of the IP address (if can be determined)
        ipGeoLat:
          type: string
          description: The latitude of the device/IP address (if can be determined)
        ipGeoLong:
          type: string
          description: The longitude of the device/IP address (if can be determined)
        isBot:
          type: boolean
          description: Was the device user determined to be a bot?
        isRat:
          type: boolean
          description: Was the device user determined to be a rat?
        isMobileBot:
          type: boolean
          description: Was the device user determined to be a mobile bot?
        isRecentRat:
          type: boolean
          description: Was the device user determined to be a recent rat?
        isSupported:
          type: boolean
          description: Was the device supported or not?
        isEmulated:
          type: boolean
          description: Was the device determined to be real or emulated?
        session:
          type: string
          description: The device checking service session key
        activity:
          type: string
          description: >-
            The activity being undertaken on the device (should be related to
            the nature of the transaction)
        extraData:
          $ref: '#/components/schemas/ExtraData'
    FiatDepositActivity:
      type: object
      required:
        - customerTransaction
        - counterParty
      allOf:
        - $ref: '#/components/schemas/BaseActivity'
        - type: object
          properties:
            customerTransaction:
              $ref: '#/components/schemas/TransactionDetails'
            counterParty:
              $ref: '#/components/schemas/CounterPartyDetails'
    FiatWithdrawalActivity:
      type: object
      required:
        - customerTransaction
        - counterParty
      allOf:
        - $ref: '#/components/schemas/BaseActivity'
        - type: object
          properties:
            customerTransaction:
              $ref: '#/components/schemas/TransactionDetails'
            counterParty:
              $ref: '#/components/schemas/CounterPartyDetails'
    CryptoDepositActivity:
      type: object
      required:
        - customerTransaction
        - counterParty
      allOf:
        - $ref: '#/components/schemas/BaseActivity'
        - type: object
          properties:
            customerTransaction:
              $ref: '#/components/schemas/TransactionDetails'
            counterParty:
              $ref: '#/components/schemas/CounterPartyDetails'
    CryptoWithdrawalActivity:
      type: object
      required:
        - customerTransaction
        - counterParty
      allOf:
        - $ref: '#/components/schemas/BaseActivity'
        - type: object
          properties:
            customerTransaction:
              $ref: '#/components/schemas/TransactionDetails'
            counterParty:
              $ref: '#/components/schemas/CounterPartyDetails'
    LoginActivity:
      type: object
      allOf:
        - $ref: '#/components/schemas/BaseActivity'
    RegistrationActivity:
      type: object
      allOf:
        - $ref: '#/components/schemas/BaseActivity'
    ExtraData:
      type: object
      description: >-
        A generic map of Key/Value's that can be used to define custom
        properties.
    RequestId:
      type: string
      format: ulid
      minLength: 26
      maxLength: 26
      description: >-
        Unique identifier assigned by FrankieOne for every request. Can be used
        for tracking down answers with technical support. Uses the ULID format
        (a time-based, sortable UUID) example: 01BFJA617JMJXEW6G7TDDXNSHX
    ErrorIssue:
      type: object
      required:
        - issueLocation
        - issue
      properties:
        issueLocation:
          type: string
          description: Will describe the field or data location of the issue
          example: date_of_birth
        issue:
          type: string
          description: Description of the problem
          example: Invalid format. Must be YYYY-MM-DD
    Address:
      type: object
      required:
        - country
      properties:
        addressId:
          type: string
          description: >-
            As addresses are added to an entity, they're assigned an ID to
            assist with tracking. If you're adjusting an address, you will need
            to include the addressId so as to be able to reference it correctly
            in the list.
        addressType:
          $ref: '#/components/schemas/EnumAddressType'
        startDate:
          description: >
            The date this address first because active. Used mostly with
            business addresses.
          type: string
          format: date
        endDate:
          description: >
            The date this address was no longer used (if available). Used mostly
            with business addresses.
          type: string
          format: date
        careOf:
          type: string
          description: >-
            Individual or business name at this address if not the same as the
            name of the entity to which this address belongs.
        unitNumber:
          type: string
          description: Unit/Apartment/Flat/Suite/others number
          example: Suite 1006
        streetNumber:
          type: string
          description: >-
            The number on the street. Generally a number, but can also be
            alphanumeric (e.g. 3A)
          example: 42a
        streetName:
          type: string
          description: |-
            The name of the street (do not include number or St/Rd/Ave/others -
            these go in related fields)
          example: Test Eagle
        streetType:
          type: string
          description: The street "type" - such as Road, St, Ave, Circuit, and others
          example: Road
        buildingName:
          type: string
          description: The name of the building, apartment block, condo, and others
          example: Tower of Power
        suburb:
          type: string
          description: >-
            The suburb in the town/city. Only use this if you require a suburb
            AND a town/city, otherwise, just use the "town" parameter.
          example: Testbeds
        town:
          type: string
          description: The town/village/suburb/city
          example: Testville
        region:
          type: string
          description: The county, province, cantonment
          example: Test County
        state:
          type: string
          description: The state. Use local abbreviations, such as VIC(toria) or TX (Texas)
          example: TST
        country:
          type: string
          description: The ISO country code (e.g. AU, US, ID, KO, or other country codes)
          example: Testalia
        postalCode:
          type: string
          description: The post code of the address.
          example: 123-TST
    EnumConsentType:
      type: string
      description: This value describes whether the customer has given consent.
      enum:
        - UNKNOWN
        - OPTED_IN
        - OPTED_OUT
    BaseActivity:
      type: object
      required:
        - activityType
        - timestamp
      properties:
        activityType:
          $ref: '#/components/schemas/EnumActivityType'
        timestamp:
          description: ISO-8601 timestamp of the time that the activity took place
          type: string
          format: date-time
    TransactionDetails:
      type: object
      required:
        - paymentRole
        - paymentId
        - paymentType
        - accountPan
        - paymentAmount
        - currencyCode
      description: >
        A party describes the details of one of the parties in a given
        transaction (natch). It can be used to describe any participant and is
        differentiated by the paymentRole field.
      properties:
        paymentRole:
          $ref: '#/components/schemas/EnumPartyRole'
        paymentType:
          $ref: '#/components/schemas/EnumPaymentType'
        paymentDesc:
          type: string
          description: >-
            Short description of the transaction from the perspective of the
            party, or any attached reference details.
          maxLength: 240
        paymentId:
          type: string
          description: >-
            A transaction identifier supplied by an external party/source to
            associate with this party in the transaction
        paymentAmount:
          type: number
          description: The amount to be applied to the party
        paymentStatus:
          type: string
          description: Status of transaction - accepted, denied_fraud or denied
        currencyCode:
          type: string
          description: >-
            3-digit ISO 4217 currency code or crypto symbol such as "BTC" or
            "ETH"
        transactionType:
          $ref: '#/components/schemas/EnumTransactionType'
        order:
          $ref: '#/components/schemas/OrderDetails'
        disbursementType:
          $ref: '#/components/schemas/EnumDisbursementType'
        merchant:
          $ref: '#/components/schemas/MerchantDetails'
        transferType:
          $ref: '#/components/schemas/TransferType'
        accountType:
          $ref: '#/components/schemas/EnumAccountType'
        accountPan:
          type: string
          description: >-
            The account number / crypto wallet of the party at the source
            service
        hashedPan:
          type: string
          description: >-
            The Sha-256 hash of card number(PAN) of the party at the source
            service
        maskedPan:
          type: string
          description: The masked card number of the party at the source service
        accountRoute:
          type: string
          description: The branch/BIN/BSB identifier to go with the accountPan
        accountIban:
          type: string
          description: The IBAN identifier to go with the accountPan
        accountSwift:
          type: string
          description: The Swift code identifier to go with the accountPan
        accountName:
          type: string
          description: The name of the account/card
          maxLength: 64
        accountClass:
          $ref: '#/components/schemas/EnumAccountClassType'
        accountExtId:
          type: string
          description: >-
            If there is an external ID associated with this account (for
            example, PayID for an NPP transaction), then include that here
          maxLength: 100
        accountExtType:
          $ref: '#/components/schemas/EnumExternalIDType'
        extraData:
          $ref: '#/components/schemas/ExtraData'
    CounterPartyDetails:
      description: >-
        Properties that are used by activities that require the Counter Party to
        be included as part of action
      type: object
      properties:
        partyDetails:
          $ref: '#/components/schemas/PartyDetails'
        transactionDetails:
          $ref: '#/components/schemas/TransactionDetails'
    EnumAddressType:
      type: string
      description: >
        Used to indicate what sort address this is, such as residential,
        business, postal, and other address types.


        RESIDENTIAL1-4 can be used to indicate the reverse chronological order
        of addresses.


        RESIDENTIAL or RESIDENTIAL1 is the current address


        RESIDENTIAL2 is the previous address, and so on.
      enum:
        - OTHER
        - RESIDENTIAL
        - RESIDENTIAL1
        - RESIDENTIAL2
        - RESIDENTIAL3
        - RESIDENTIAL4
        - BUSINESS
        - POSTAL
        - REGISTERED_OFFICE
        - PLACE_OF_BUSINESS
        - OFFICIAL_CORRESPONDENCE
      example: RESIDENTIAL
    EnumPartyRole:
      type: string
      description: >-
        The role the party is performing in the transaction, such as Originator
        (source/debit), Beneficiary(destination/credit)
      enum:
        - TXN_ROLE_ORIGINATOR
        - TXN_ROLE_BENEFICIARY
    EnumTransactionType:
      type: string
      description: Indicates the type of transaction
      enum:
        - BUY
        - SELL
        - DEPOSIT
        - WITHDRAW
        - REFUND
        - PAYMENT
        - TOPUP
    OrderDetails:
      type: object
      description: |
        An order describes the details of an order that a customer made.
      properties:
        prevOrderCount:
          type: integer
          description: >-
            The number of orders the customer made in the past. (excluding sent
            order)
        lastOrderDate:
          type: string
          format: YYYY-MM-DD
          description: Last order date
          example: '1983-04-22'
        orderChannel:
          type: string
        prevUnpaidOrderCount:
          type: integer
          description: The number of orders for which the account still owes money.
    EnumDisbursementType:
      type: string
      description: Type of a payment paid out of business
      enum:
        - BILLPAY
        - DELIVERY
        - DEPOSIT
        - PICKUP
        - RELOAD
    MerchantDetails:
      type: object
      description: |
        A merchant reflects details of the merchant owner.
      properties:
        id:
          type: string
          description: ID of the merchant
        mcc:
          type: string
          description: Merchant category code
        category:
          type: string
          description: Name of the merchant category
    TransferType:
      type: string
      description: The type of the transfer that was used in the transaction.
      enum:
        - ACH
        - ECHECK
        - DOMESTIC_WIRE
    EnumAccountType:
      type: string
      description: The type of the account that was used in the transaction.
      enum:
        - CHECKING
        - SAVINGS
        - OTHER
    EnumAccountClassType:
      type: string
      description: The class of the account/card. Can be business, personal or other.
      enum:
        - PERSONAL
        - BUSINESS
        - OTHER
    EnumExternalIDType:
      type: string
      description: An Account External ID type, usually associated with a PayID type.
      enum:
        - EXTERNAL_IDNO
        - EXTERNAL_MOBILE
        - EXTERNAL_EMAIL
        - EXTERNAL_ABN
  responses:
    401Unauthorized:
      description: >
        The request has failed an authorisation check. This can happen for a
        variety of reasons, such as an invalid or expired API key, or invalid
        Customer/CustomerChildIDs.


        * NOTE: This does not include attempts to read/write data you don't have
        access to - that's a 404 error (as we don't want to leak information
        through guessing)
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ServiceError'
    404NotFound:
      description: >
        Cannot return response. In the case of a query, or reference to a
        specific entity/check/others, it means that the requested item was not
        found, or you don't have access to it. Please check your query before
        trying again.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ServiceError'
    500InternalServerError:
      description: >
        The system is presently unavailable, running in a severely degraded
        state or an unexpected error occurred. 

        Check the error message for details
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ServiceError'
  securitySchemes:
    apiKey:
      type: apiKey
      name: apiKey
      description: API key issued by FrankieOne. This will rotate regularly.
      in: header

````