> ## 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.

# Push Notification Payload

> Whenever you request that a transaction be put into the background, there needs to be a mechanism for notifying you that the request has been completed. This notification will push you the high-level details of the result, and you can then query the results at your leisure.

The same notification process will also be used to push alerts to your system. This means that RequestIDs may not match your records




## OpenAPI

````yaml post /your/configured/path/{requestId}
openapi: 3.0.0
info:
  description: >
    ------  

    This API allows developers to integrate the Frankie Financial Compliance
    Utility into their applications. The API allows:
      - Checking name, address, date of birth against national databases
      - Validating Australian driver's licences, passports, medicare, visas and other Australian national ID documents
      - Validating Australian electricity bills
      - Validating NZ driver's licences
      - Validating Chinese bank cards and national ID card
      - Validating International passports and national ID documents
      - PEP, Sanctions, Watchlist and adverse media checking
      - Australian visa checks 
      - Fraud list and fraud background checks
      - ID validation and selfie check comparisons.
      
    ------  
     
    KYB specific services

      - Query organisation ownership
      - Perform KYC & AML checks on shareholders, beneficial owners and office bearers.
      - Query credit score and credit reports
      - International company searches
      - International company profiles
      
    ------  

    The full version of this documentation along with supplemental articles can
    be found here:
      - https://docs.frankieone.com/

    ------

    Sandbox base URL is:
      - https://api.uat.frankie.one/compliance/v1.2
      
      - All calls are the same as production, only with test data. You can download the latest test data here: https://docs.frankieone.com/docs/test-data

      - Full Swagger definition, along with test data for playing in the sandbox can be obtained once initial commercial discussions have commenced.

      - Production and optional UAT access will be opened up only to those with a signed commercial contract.
      
    ------  

    Contact us at hello@frankiefinancial.com to speak with a sales rep about
    issuing a Customer ID and Sandbox api key.
  title: Frankie Financial API
  contact:
    email: help@frankieone.com
  version: 1.15.3
servers:
  - url: https://api.uat.frankie.one/compliance/v1.2
security:
  - api_key: []
tags:
  - description: >-
      Service status functions you can use to make sure things are up and
      running.
    name: Status
  - description: Operations on specific ID documents, specific to an entity (people).
    name: Document
  - description: Operations on specific entities (people / companies / etc)
    name: Entity
  - description: Operations on entities that are set to type ORGANISATION
    name: Business
  - description: >-
      These are callback/webhook functions. If you've requested a callback, this
      will be what is sent to you. You do not need to implement these as a
      client, but you do need to be able to accept them as a server.
    name: Push Notification
  - description: Functions used for retrieving past results
    name: Retrieve
  - description: Operations on entities to set specific flags and states.
    name: Flag
paths:
  /your/configured/path/{requestId}:
    post:
      tags:
        - Push Notification
      summary: Push Notification Payload
      description: >
        Whenever you request that a transaction be put into the background,
        there needs to be a mechanism for notifying you that the request has
        been completed. This notification will push you the high-level details
        of the result, and you can then query the results at your leisure.


        The same notification process will also be used to push alerts to your
        system. This means that RequestIDs may not match your records
      operationId: notifyResult
      parameters:
        - description: >
            This will be the same RequestId that was sent in the 202 acceptance
            response.
          name: requestId
          in: path
          required: true
          schema:
            type: string
            format: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NotificationResultObject'
      responses:
        '200':
          description: >-
            The Customer has accepted the notification and we don't need to
            retry sending it.
        '400':
          description: >-
            The notification represents a type of notification the customer was
            not expecting, or can accept. No retry.
        '500':
          description: >-
            The Customer cannot accept the notification at this time. Please
            resend again later
      security: []
components:
  schemas:
    NotificationResultObject:
      description: >
        The following fields represent the data you need in order to retrieve
        the results of the requested function. See the details of the
        notification API for more.
      type: object
      properties:
        checkId:
          description: >
            If you're calling a processing function of some kind, a check number
            will be issued. This field will only be present if the function
            you're calling would normally return a checkId (such as scan,
            verify, and compare).
          type: string
          format: uuid
        documentId:
          description: >
            Only supplied if the original request was tied to a document. This
            will be the same ID that was sent in the original acceptance.
          type: string
          format: uuid
        entityCustomerReference:
          description: >
            If the entity in entityId above has had an external service ID
            attached to it in the entity extraData with kvpKey =
            customer_reference, then this is that kvpValue
          type: string
          example: AU0123456
        entityId:
          description: >
            Only supplied if the original request was tied to an entity. This
            will be the same ID that was sent in the original acceptance.
          type: string
          format: uuid
        extraData:
          description: >
            Additional fields that contain the detailed data that was used to
            generate the 'message' field. The actual content

            will depend on the 'notificationType' and 'function'.
          type: object
          additionalProperties: true
        function:
          description: >
            Short description of the original function called, or function that
            was triggered.
          type: string
          example: entity.create
        functionResult:
          $ref: '#/components/schemas/enumFunctionStatus'
        linkReference:
          description: >
            URI for resource containing more details about the reason for the
            notification.
          type: string
          format: uri
          example: >-
            https://portal.frankie.one/entity/3fa85f64-5717-4562-b3fc-2c963f66afa6
        message:
          description: >
            A brief, human readable message describing the reason for the
            notification.
          type: string
          example: Entity successfully created
        notificationType:
          $ref: '#/components/schemas/enumNotificationType'
        requestId:
          $ref: '#/components/schemas/RequestIDObject'
        username:
          description: >
            The portal username that initiated the operation that led to this
            notification. If applicable and available.
          type: string
      x-go-type:
        import:
          alias: models_common
          package: bitbucket.org/ff_common/models/common
        type: NotificationResultObject
    enumFunctionStatus:
      description: >
        High level indication of the final disposition of a backgrounded
        function

        - "COMPLETED": the request completed (not that the final result is a
        success, just that we completed)

        - "FAILED": the request failed. 

        - "INCOMPLETE": could not complete the request.
      type: string
      enum:
        - COMPLETED
        - FAILED
        - INCOMPLETE
      x-go-type:
        import:
          alias: models_common
          package: bitbucket.org/ff_common/models/common
        type: EnumFunctionStatus
      example: COMPLETED
    enumNotificationType:
      description: >
        Indicates the type of notification being pushed.

        - "FUNCTION": A request that you previously backgrounded has completed
        and this is the notification that is it complete (success is another
        matter)

        - "RESULT": Like the FUNCTION notification, this tells you that a
        previously backgrounded request has completed, and that there is a set
        of results in the payload pointer.

        - "EVENT": There has been a stateful change in a document, entity or
        some other piece of data that we are holding/monitoring for you. This is
        an indication that you may wish to take some action.

        - "ALERT": Like the EVENT, except that the severity of the notification
        indicates that action is almost certainly required.
      type: string
      enum:
        - FUNCTION
        - RESULT
        - EVENT
        - ALERT
      x-go-type:
        import:
          alias: models_common
          package: bitbucket.org/ff_common/models/common
        type: EnumNotificationType
    RequestIDObject:
      description: >
        Unique identifier for every request. Can be used for tracking down
        answers with technical support. 


        Uses the ULID format (a time-based, sortable UUID)


        Note: this will be different for every request.
      type: string
      format: ulid
      x-go-type:
        import:
          alias: models_common
          package: bitbucket.org/ff_common/models/common
        type: RequestIDObject
      example: 01BFJA617JMJXEW6G7TDDXNSHX
  securitySchemes:
    api_key:
      description: API key issued by Frankie Financial. This will rotate regularly.
      type: apiKey
      name: api_key
      in: header

````