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

# Get an end user's fraud network scan

> Returns the last fraud network scan for a submission: whether the identity it stated matches a
business Heron's consortium has reported or detected, and what the match is.




## OpenAPI

````yaml https://app.herondata.io/swagger get /api/end_users/{end_user_heron_id}/fraud_detection/fraud_network
openapi: 3.0.0
info:
  contact:
    email: support@herondata.io
    name: Support
  title: Heron Data API
  version: '2021-07-19'
servers:
  - description: Production
    url: https://app.herondata.io
security:
  - ApiKeyAuth:
      - key_XXX
externalDocs:
  description: Read Tutorial
  url: https://docs.herondata.io/
paths:
  /api/end_users/{end_user_heron_id}/fraud_detection/fraud_network:
    get:
      tags:
        - EndUsers
      summary: Get an end user's fraud network scan
      description: >
        Returns the last fraud network scan for a submission: whether the
        identity it stated matches a

        business Heron's consortium has reported or detected, and what the match
        is.
      parameters:
        - description: The Heron ID of the end user
          in: path
          name: end_user_heron_id
          required: true
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FraudNetworkScanResultSchema'
          description: OK
        '403':
          description: Fraud detection is not enabled for this account
        '404':
          description: End user not found, or no scan has run for this end user
      security:
        - ApiKeyAuth: []
components:
  schemas:
    FraudNetworkScanResultSchema:
      properties:
        businesses:
          items:
            $ref: '#/components/schemas/FraudNetworkResultBusiness'
          type: array
        classification:
          enum:
            - fraud_network
            - lone_actor
            - null
          nullable: true
        edges:
          items:
            $ref: '#/components/schemas/FraudNetworkResultEdge'
          type: array
        input_coverage:
          $ref: '#/components/schemas/FraudNetworkInputCoverage'
        match_meta:
          allOf:
            - $ref: '#/components/schemas/FraudNetworkMatchMeta'
          nullable: true
        matched_node_heron_id:
          nullable: true
          type: string
        monitoring_until:
          format: date-time
          nullable: true
          type: string
        network:
          allOf:
            - $ref: '#/components/schemas/FraudNetworkResultNetwork'
          nullable: true
        people:
          items:
            $ref: '#/components/schemas/FraudNetworkResultPerson'
          type: array
        scanned_at:
          format: date-time
          type: string
        status:
          enum:
            - match
            - no_match
            - insufficient_input
        summary:
          $ref: '#/components/schemas/FraudNetworkResultSummary'
      required:
        - businesses
        - classification
        - edges
        - input_coverage
        - match_meta
        - matched_node_heron_id
        - monitoring_until
        - network
        - people
        - scanned_at
        - status
        - summary
      type: object
    FraudNetworkResultBusiness:
      properties:
        address:
          allOf:
            - $ref: '#/components/schemas/AddressFields'
          nullable: true
        evidence:
          items:
            $ref: '#/components/schemas/FraudNetworkResultEvidence'
          type: array
        heron_id:
          type: string
        identifiers:
          items:
            $ref: '#/components/schemas/CompanyId'
          type: array
        names:
          items:
            $ref: '#/components/schemas/CompanyName'
          type: array
        redacted:
          description: >-
            True when this account has never submitted the node; every
            identifying field is then empty.
          type: boolean
        sightings:
          description: >-
            This account's own end users that matched the node. Other lenders
            appear only as counts.
          items:
            $ref: '#/components/schemas/FraudNetworkResultSighting'
          type: array
        type_of_entity:
          nullable: true
          type: string
      required:
        - address
        - evidence
        - heron_id
        - identifiers
        - names
        - redacted
        - sightings
        - type_of_entity
      type: object
    FraudNetworkResultEdge:
      properties:
        edge_type:
          enum:
            - owner_of
            - transacts_with
        evidence:
          items:
            $ref: '#/components/schemas/FraudNetworkResultEvidence'
          type: array
        from_node_heron_id:
          type: string
        heron_id:
          type: string
        ownership_percentage:
          nullable: true
          type: number
        to_node_heron_id:
          type: string
      required:
        - edge_type
        - evidence
        - from_node_heron_id
        - heron_id
        - to_node_heron_id
      type: object
    FraudNetworkInputCoverage:
      properties:
        address:
          type: boolean
        dba:
          type: boolean
        ein:
          type: boolean
        legal_name:
          type: boolean
        owner_name:
          type: boolean
        owner_ssn:
          type: boolean
      required:
        - address
        - dba
        - ein
        - legal_name
        - owner_name
        - owner_ssn
      type: object
    FraudNetworkMatchMeta:
      properties:
        distance_to_first_payment_default:
          nullable: true
          type: integer
        matched_fields:
          items:
            $ref: '#/components/schemas/FraudNetworkResultMatchedField'
          type: array
        score:
          type: number
      required:
        - distance_to_first_payment_default
        - matched_fields
        - score
      type: object
    FraudNetworkResultNetwork:
      properties:
        first_payment_default_count:
          type: integer
        heron_id:
          type: string
        mca_suit_member_count:
          type: integer
        member_count:
          type: integer
        name:
          type: string
        reporting_member_count:
          type: integer
      required:
        - first_payment_default_count
        - heron_id
        - mca_suit_member_count
        - member_count
        - name
        - reporting_member_count
      type: object
    FraudNetworkResultPerson:
      properties:
        address:
          allOf:
            - $ref: '#/components/schemas/AddressFields'
          nullable: true
        evidence:
          items:
            $ref: '#/components/schemas/FraudNetworkResultEvidence'
          type: array
        heron_id:
          type: string
        names:
          items:
            $ref: '#/components/schemas/PersonName'
          type: array
        national_ids:
          items:
            $ref: '#/components/schemas/NationalId'
          type: array
        redacted:
          description: >-
            True when this account has never submitted the node; every
            identifying field is then empty.
          type: boolean
        sightings:
          description: >-
            This account's own end users that matched the node. Other lenders
            appear only as counts.
          items:
            $ref: '#/components/schemas/FraudNetworkResultSighting'
          type: array
      required:
        - address
        - evidence
        - heron_id
        - names
        - national_ids
        - redacted
        - sightings
      type: object
    FraudNetworkResultSummary:
      properties:
        headline:
          type: string
        matched_on:
          nullable: true
          type: string
        network:
          nullable: true
          type: string
        seen_elsewhere:
          nullable: true
          type: string
        this_business:
          type: string
        why_listed:
          nullable: true
          type: string
      required:
        - headline
        - matched_on
        - network
        - seen_elsewhere
        - this_business
        - why_listed
      type: object
    AddressFields:
      properties:
        city:
          description: Town or city; null when the address could not be split.
          nullable: true
          type: string
        country:
          description: Country of the address; null when no state was read.
          nullable: true
          type: string
        is_po_box:
          description: True when the address names a PO box rather than a building.
          type: boolean
        line_1:
          description: Street and building number; null when unavailable.
          nullable: true
          type: string
        line_2:
          description: Flat, unit or suite; null when none was stated.
          nullable: true
          type: string
        postcode:
          description: ZIP code, with its four-digit extension when stated.
          nullable: true
          type: string
        raw:
          description: The address exactly as the source wrote it, in one line.
          type: string
        region:
          description: State, province or county; null when unavailable.
          nullable: true
          type: string
      type: object
    FraudNetworkResultEvidence:
      properties:
        detail:
          additionalProperties: {}
          description: >-
            Kind-specific detail. Redacted nodes carry counts only:
            `public_record` becomes `{case_count, mca_case_count}` and
            `detected_shared_identifier` drops the identifier type.
          type: object
        heron_id:
          type: string
        kind:
          description: '`staff_note` is internal and never returned here.'
          enum:
            - detected_money_flow
            - detected_funding
            - customer_reported_fraud
            - detected_shared_identifier
            - detected_identity_details
            - public_record
            - staff_note
        occurred_at:
          format: date
          nullable: true
          type: string
        source:
          nullable: true
          type: string
      required:
        - detail
        - heron_id
        - kind
        - occurred_at
        - source
      type: object
    CompanyId:
      properties:
        country:
          description: >-
            The country that issues this type of identifier, as a two-letter
            code. Null when the identifier belongs to no one country: a DUNS
            number is issued worldwide by one agency, so it says nothing about
            where the company is.
          nullable: true
          type: string
        type:
          description: >-
            Which identifier it is: `us_ein`, `duns`, `uk_company_number` or
            `vat`.
          enum:
            - us_ein
            - us_taxpayer_number
            - duns
            - uk_company_number
            - vat
        value:
          description: The identifier as the source states it.
          type: string
        verified:
          description: >-
            What an authority said when asked about this identifier under this
            business's name: `matched` or `not_matched`. Null when no check was
            run for it, and always null on the identifier inside a
            `tax_id_verifications` row, which is the check itself.
          enum:
            - matched
            - not_matched
            - null
          nullable: true
      type: object
    CompanyName:
      properties:
        effective_from:
          description: Date the name started, when a source states one.
          format: date
          nullable: true
          type: string
        effective_to:
          description: Date the name ended, when a source states one.
          format: date
          nullable: true
          type: string
        raw:
          description: The name exactly as the source wrote it, including its legal form.
          type: string
        type:
          description: >-
            What type of name it is: `legal` is the name a source answers with,
            `former` a name a registry held before the current one, `dba` a name
            the company trades under, and `trade` a name a report lists as an
            alternate.
          enum:
            - legal
            - dba
            - former
            - trade
      type: object
    FraudNetworkResultSighting:
      properties:
        end_user_heron_id:
          type: string
        role:
          enum:
            - owner_1
            - owner_2
            - null
          nullable: true
        seen_at:
          format: date-time
          type: string
      required:
        - end_user_heron_id
        - seen_at
      type: object
    FraudNetworkResultMatchedField:
      properties:
        key:
          enum:
            - legal_name
            - dba
            - ein
            - ssn
            - owner_name
            - address
          type: string
        subject:
          enum:
            - business
            - owner_1
            - owner_2
          type: string
        value:
          description: The value this account submitted, never the network's copy.
          type: string
      required:
        - key
        - subject
        - value
      type: object
    PersonName:
      properties:
        given:
          description: Given name; null when the name could not be split.
          nullable: true
          type: string
        middle:
          description: Middle name or initial; null when none was stated.
          nullable: true
          type: string
        prefix:
          description: Title such as Dr; null when none was stated.
          nullable: true
          type: string
        raw:
          description: The name exactly as the source wrote it.
          type: string
        suffix:
          description: Generational suffix such as Jr or III; null when none.
          nullable: true
          type: string
        surname:
          description: Surname; null when the name could not be split.
          nullable: true
          type: string
        type:
          description: >-
            What type of name it is: `legal` is the name a source answers with,
            and `aka` a further spelling the same source holds for the person.
            `maiden` and `former` are not stated by any source read today.
          enum:
            - legal
            - aka
            - maiden
            - former
      type: object
    NationalId:
      properties:
        country:
          description: ISO country code of the issuer.
          type: string
        expires_on:
          description: Expiry, where the source states one.
          format: date
          nullable: true
          type: string
        state:
          description: Issuing state, for a driving licence; null otherwise.
          nullable: true
          type: string
        type:
          description: >-
            Which identifier this is: `us_ssn`, `ca_sin`, `uk_nino`,
            `driving_licence` or `passport`.
          enum:
            - us_ssn
            - ca_sin
            - uk_nino
            - driving_licence
            - passport
        value:
          description: The identifier as stated.
          type: string
      type: object
  securitySchemes:
    ApiKeyAuth:
      in: header
      name: x-api-key
      type: apiKey

````