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

# Get device reputation signals

> Returns device reputation information of a visitor.



## OpenAPI

````yaml get /drn/{visitorId}
openapi: 3.0.0
info:
  title: DRN API
  description: >-
    Device Reputation Network (DRN)
    [API](https://dev.fingerprint.com/reference/drn-api)
  version: '2024-09-01'
servers:
  - url: https://drn-api.fpjs.io
    description: Global region
security:
  - SecretAPIKey: []
paths:
  /drn/{visitorId}:
    get:
      summary: Returns device reputation information of a visitor.
      description: Returns device reputation information of a visitor.
      parameters:
        - name: X-API-Version
          in: header
          description: The API version to use.
          required: true
          example: '2024-09-01'
          schema:
            type: string
            default: '2024-09-01'
        - name: visitorId
          in: path
          required: true
          description: The visitor id to get information on.
          schema:
            type: string
            pattern: ^[a-zA-Z0-9]{20}$
        - name: signals
          in: query
          required: true
          description: The information signals to retrieve.
          schema:
            type: array
            items:
              $ref: '#/components/schemas/Signals'
              type: string
          example: regional_activity,suspect_score,timestamps
          style: form
          explode: false
      responses:
        '200':
          description: >-
            A JSON object representing reputation information related to
            requested signals.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DRN'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Visitor not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    Signals:
      type: string
      enum:
        - regional_activity
        - suspect_score
        - timestamps
    DRN:
      type: object
      properties:
        data:
          description: Object containing properties of the signals requested
          type: object
          properties:
            regionalActivity:
              allOf:
                - $ref: '#/components/schemas/RegionalActivity'
                - nullable: true
            suspectScore:
              allOf:
                - $ref: '#/components/schemas/SuspectScore'
                - nullable: true
            timestamps:
              allOf:
                - $ref: '#/components/schemas/Timestamps'
                - nullable: true
    Error:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
            message:
              type: string
            requestId:
              type: string
    RegionalActivity:
      type: object
      properties:
        startDate:
          type: string
          format: date
        endDate:
          type: string
          format: date
        countries:
          type: array
          items:
            $ref: '#/components/schemas/RegionalActivityCountry'
    SuspectScore:
      type: object
      properties:
        startDate:
          type: string
          format: date
        endDate:
          type: string
          format: date
        minimum:
          properties:
            value:
              type: number
            signals:
              $ref: '#/components/schemas/SuspectScoreSignals'
        maximum:
          properties:
            value:
              type: number
            percentile:
              type: number
              format: float
            signals:
              $ref: '#/components/schemas/SuspectScoreSignals'
    Timestamps:
      type: object
      properties:
        firstSeentAt:
          type: string
          format: date
          nullable: true
        lastSeenAt:
          type: string
          format: date
          nullable: true
    RegionalActivityCountry:
      type: object
      properties:
        code:
          type: string
        detectors:
          type: array
          items:
            $ref: '#/components/schemas/RegionalActivityCountryDetector'
    SuspectScoreSignals:
      type: object
      properties:
        vpn:
          allOf:
            - $ref: '#/components/schemas/SuspectScoreSignalsAndroidVPN'
            - nullable: true
        ipBLocklist:
          allOf:
            - $ref: '#/components/schemas/SuspectScoreSignalsAndroidIPBlocklist'
            - nullable: true
        tor:
          type: number
          nullable: true
        proxy:
          type: number
          nullable: true
        emulator:
          type: number
          nullable: true
        tampering:
          type: number
          nullable: true
        clonedApp:
          type: number
          nullable: true
        frida:
          type: number
          nullable: true
        highActivity:
          type: number
          nullable: true
    RegionalActivityCountryDetector:
      type: object
      properties:
        type:
          type: string
          enum:
            - ip
            - origin
        activityPercentage:
          type: number
          format: float
          description: >-
            Percentage is represented as a float (e.g. 1=100%, 0.50=50%,
            0.01=1%). Note the sum of the percentages for a type across regions
            may not always sum up to 1 because of rounding.
    SuspectScoreSignalsAndroidVPN:
      type: object
      properties:
        timezoneMismatch:
          type: number
          nullable: true
        publicVPN:
          type: number
          nullable: true
        auxiliaryMobile:
          type: number
          nullable: true
    SuspectScoreSignalsAndroidIPBlocklist:
      type: object
      properties:
        emailSpam:
          type: number
          nullable: true
        attackSource:
          type: number
          nullable: true
  securitySchemes:
    SecretAPIKey:
      type: http
      scheme: bearer

````