openapi: 3.0.2
info:
  title: Fingerprinting API
  version: 1.0.1
  description: >+
    Documentation for fingerprinting-api.com. These APIs allow you to secure
    your website or application against scraping, bots, attacks and other
    various threats and understand your users behaviors in a cookieless world.

    ## Authentication


    This API uses an API key for authentication. To interact with the API, you
    will need to provide your API key in the `x-api-key` header of your
    requests. 2. Include your API key in the request headers as `x-api-key:
    YOUR_API_KEY`.


    ## Filtering Data


    When querying data, you can use the `filter_groups` parameter to filter
    results based on specific attributes. The `filter_groups` object consists of
    a list of filters defined by the `FilerGroupSchema`, where each filter is
    composed of an `object`, `field`, `operator`, and `value`. This allows for
    flexible filtering across various dimensions like country, city, browser, or
    page.


    AND and OR Filters:

    To apply an **AND** condition (e.g., filter by both A and B), include both
    filters in the same `filters` list within a single filter group. To apply an
    **OR** condition (e.g., filter by either A or B), place each filter in
    separate `filter_groups`. Each filter group operates independently, so
    results will match any group that evaluates as true.


    If you want to filter data to only see visitors from a specific city using a
    specific browser (AND condition), your filter might look like this:


    ```json

    {
      "filter_groups": [
        {
          "filters": [
            { "object": "city", "field": "name", "operator": "contains", "value": "New York" },
            { "object": "browser", "field": "name", "operator": "is_any_of", "value": ["Chrome"] }
          ]
        }
      ]
    }

    ```


    If you want to filter data for either visitors from a specific city OR
    visitors using a specific browser (OR condition), you would structure the
    filter like this:


    ```json

    {
      "filter_groups": [
        {
          "filters": [
            { "object": "city", "field": "name", "operator": "contains", "value": "New York" }
          ]
        },
        {
          "filters": [
            { "object": "browser", "field": "name", "operator": "contains", "value": "Chrome" }
          ]
        }
      ]
    }

    ```

  contact:
    name: Support Team
    url: ''
    email: support@fingerprinting-api.com
    x-logo:
      url: https://framerusercontent.com/images/Sot9O6TjK3QR2MuLCC9xcOgEL6o.png
paths:
  /cities:
    post:
      operationId: cities_overview_cities_post
      parameters:
        - in: query
          name: start_date
          required: false
          schema:
            default: '1970-01-01'
            title: Start Date
            type: string
        - in: query
          name: end_date
          required: false
          schema:
            default: '2024-11-28'
            title: End Date
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Body_cities_overview_cities_post'
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/CityResponseModel'
                title: Response Cities Overview Cities Post
                type: array
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      summary: Cities Overview
      tags:
        - Marketing API
  /countries:
    post:
      operationId: countries_overview_countries_post
      parameters:
        - in: query
          name: start_date
          required: false
          schema:
            default: '1970-01-01'
            title: Start Date
            type: string
        - in: query
          name: end_date
          required: false
          schema:
            default: '2024-11-28'
            title: End Date
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Body_countries_overview_countries_post'
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/CountryResponseModel'
                title: Response Countries Overview Countries Post
                type: array
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      summary: Countries Overview
      tags:
        - Marketing API
  /pages:
    post:
      operationId: get_pages_overview_analytics_pages_post
      parameters:
        - in: query
          name: start_date
          required: false
          schema:
            default: '1970-01-01'
            title: Start Date
            type: string
        - in: query
          name: end_date
          required: false
          schema:
            default: '2024-11-28'
            title: End Date
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/Body_get_pages_overview_analytics_pages_post
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/PagesOverviewAnalyticsResponseModel'
                title: Response Get Pages Overview Analytics Pages Post
                type: array
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      summary: Pages Overview
      tags:
        - Marketing API
  /security/adblock-status/visitor_id:
    get:
      operationId: get_visitor_adblock_status_security_adblock_status_visitor_id_get
      parameters:
        - in: query
          name: visitor_id
          required: true
          schema:
            title: Visitor Id
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VisitorAdblockStatus'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      summary: Get Visitor Adblock Status
      tags:
        - Security API
  /security/bot-status/visitor_id:
    get:
      operationId: get_visitor_bot_status_security_bot_status_visitor_id_get
      parameters:
        - in: query
          name: visitor_id
          required: true
          schema:
            title: Visitor Id
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VisitorBotStatus'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      summary: Get Visitor Bot Status
      tags:
        - Security API
  /security/scraping-status/visitor_id:
    get:
      operationId: get_visitor_scraping_status_security_scraping_status_visitor_id_get
      parameters:
        - in: query
          name: visitor_id
          required: true
          schema:
            title: Visitor Id
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VisitorScrapingStatus'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      summary: Get Visitor Scraping Status
      tags:
        - Security API
  /security/vpn-status/visitor_id:
    get:
      operationId: get_visitor_vpn_status_security_vpn_status_visitor_id_get
      parameters:
        - in: query
          name: visitor_id
          required: true
          schema:
            title: Visitor Id
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VisitorVPNStatus'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      summary: Get Visitor VPN Status
      tags:
        - Security API
  /security/scraping-extensions-status/{visitor_id}:
    get:
      operationId: >-
        get_visitor_scraping_extensions_status_security_scraping_extensions_status__visitor_id__get
      parameters:
        - in: path
          name: visitor_id
          required: true
          schema:
            title: Visitor Id
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VisitorScrapingExtensionsStatus'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      summary: Get Visitor Scraping Extensions Status
      tags:
        - Security API
  /states:
    post:
      operationId: states_overview_states_post
      parameters:
        - in: query
          name: start_date
          required: false
          schema:
            default: '1970-01-01'
            title: Start Date
            type: string
        - in: query
          name: end_date
          required: false
          schema:
            default: '2024-11-28'
            title: End Date
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Body_states_overview_states_post'
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/StateResponseModel'
                title: Response States Overview States Post
                type: array
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      summary: States Overview
      tags:
        - Marketing API
  /traffic/campaigns:
    post:
      operationId: campaigns_overview_traffic_campaigns_post
      parameters:
        - in: query
          name: start_date
          required: false
          schema:
            default: '1970-01-01'
            title: Start Date
            type: string
        - in: query
          name: end_date
          required: false
          schema:
            default: '2024-11-28'
            title: End Date
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/Body_campaigns_overview_traffic_campaigns_post
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/CampaignsResponseModel'
                title: Response Campaigns Overview Traffic Campaigns Post
                type: array
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      summary: Campaigns Overview
      tags:
        - Marketing API
  /traffic/channels:
    post:
      operationId: channels_overview_traffic_channels_post
      parameters:
        - in: query
          name: start_date
          required: false
          schema:
            default: '1970-01-01'
            title: Start Date
            type: string
        - in: query
          name: end_date
          required: false
          schema:
            default: '2024-11-28'
            title: End Date
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/Body_channels_overview_traffic_channels_post
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/ChannelsResponseModel'
                title: Response Channels Overview Traffic Channels Post
                type: array
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      summary: Channels Overview
      tags:
        - Marketing API
  /traffic/sources:
    post:
      operationId: sources_overview_traffic_sources_post
      parameters:
        - in: query
          name: start_date
          required: false
          schema:
            default: '1970-01-01'
            title: Start Date
            type: string
        - in: query
          name: end_date
          required: false
          schema:
            default: '2024-11-28'
            title: End Date
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Body_sources_overview_traffic_sources_post'
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/SourcesResponseModel'
                title: Response Sources Overview Traffic Sources Post
                type: array
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      summary: Sources Overview
      tags:
        - Marketing API
  /user-agent/browsers:
    post:
      operationId: browsers_overview_user_agent_browsers_post
      parameters:
        - in: query
          name: start_date
          required: false
          schema:
            default: '1970-01-01'
            title: Start Date
            type: string
        - in: query
          name: end_date
          required: false
          schema:
            default: '2024-11-28'
            title: End Date
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/Body_browsers_overview_user_agent_browsers_post
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/BrowsersResponseModel'
                title: Response Browsers Overview User Agent Browsers Post
                type: array
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      summary: Browsers Overview
      tags:
        - Marketing API
  /user-agent/devices:
    post:
      operationId: devices_overview_user_agent_devices_post
      parameters:
        - in: query
          name: start_date
          required: false
          schema:
            default: '1970-01-01'
            title: Start Date
            type: string
        - in: query
          name: end_date
          required: false
          schema:
            default: '2024-11-28'
            title: End Date
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/Body_devices_overview_user_agent_devices_post
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/DeviceResponseModel'
                title: Response Devices Overview User Agent Devices Post
                type: array
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      summary: Devices Overview
      tags:
        - Marketing API
  /user-agent/extensions:
    post:
      operationId: extensions_overview_user_agent_extensions_post
      parameters:
        - in: query
          name: start_date
          required: false
          schema:
            default: '1970-01-01'
            title: Start Date
            type: string
        - in: query
          name: end_date
          required: false
          schema:
            default: '2024-11-28'
            title: End Date
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/Body_extensions_overview_user_agent_extensions_post
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/ExtensionsResponseModel'
                title: Response Extensions Overview User Agent Extensions Post
                type: array
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      summary: Extensions Overview
      tags:
        - User API
        - Marketing API
  /user-agent/os:
    post:
      operationId: os_overview_user_agent_os_post
      parameters:
        - in: query
          name: start_date
          required: false
          schema:
            default: '1970-01-01'
            title: Start Date
            type: string
        - in: query
          name: end_date
          required: false
          schema:
            default: '2024-11-28'
            title: End Date
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Body_os_overview_user_agent_os_post'
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/OsResponseModel'
                title: Response Os Overview User Agent Os Post
                type: array
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      summary: Os Overview
      tags:
        - User API
        - Marketing API
  /visitors:
    post:
      operationId: get_visitors_visitors_post
      parameters:
        - in: query
          name: start_date
          required: false
          schema:
            default: '1970-01-01'
            title: Start Date
            type: string
        - in: query
          name: end_date
          required: false
          schema:
            default: '2024-11-28'
            title: End Date
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Body_get_visitors_visitors_post'
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/VisitorsResponseModel'
                title: Response Get Visitors Visitors Post
                type: array
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      summary: Visitors Overview
      tags:
        - User API
        - Marketing API
  /visitors/{visitor_id}/visits:
    post:
      operationId: get_visitor_visits_visitors__visitor_id__visits_post
      parameters:
        - in: path
          name: visitor_id
          required: true
          schema:
            title: Visitor Id
            type: string
        - in: query
          name: start_date
          required: false
          schema:
            default: '1970-01-01'
            title: Start Date
            type: string
        - in: query
          name: end_date
          required: false
          schema:
            default: '2024-11-28'
            title: End Date
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/Body_get_visitor_visits_visitors__visitor_id__visits_post
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/VisitsResponseModel'
                title: Response Get Visitor Visits Visitors  Visitor Id  Visits Post
                type: array
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      summary: Get Visitor Visits
      tags:
        - User API
  /visits:
    post:
      operationId: get_visits_visits_post
      parameters:
        - in: query
          name: start_date
          required: false
          schema:
            default: '1970-01-01'
            title: Start Date
            type: string
        - in: query
          name: end_date
          required: false
          schema:
            default: '2024-11-28'
            title: End Date
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Body_get_visits_visits_post'
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/VisitsResponseModel'
                title: Response Get Visits Visits Post
                type: array
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      summary: Get Visits
      tags:
        - Marketing API
components:
  schemas:
    WebhookPayload:
      type: object
      properties:
        eventType:
          type: string
          enum:
            - NEW_VISIT
            - NEW_VISITOR
        timestamp:
          type: string
          format: date-time
        data:
          type: object
          properties:
            visitId:
              type: string
            visitorId:
              type: string
            additionalInfo:
              type: string
              nullable: true
    AnalyticsFilterSchema:
      properties:
        field:
          $ref: '#/components/schemas/Field'
        object:
          $ref: '#/components/schemas/Object'
        operator:
          $ref: '#/components/schemas/Operator'
        value:
          anyOf:
            - type: string
            - items:
                type: string
              type: array
          title: Value
      required:
        - object
        - field
        - operator
      title: AnalyticsFilterSchema
      type: object
    Body_browsers_overview_user_agent_browsers_post:
      properties:
        filter_groups:
          default: []
          items:
            $ref: '#/components/schemas/FilerGroupSchema'
          title: Filter Groups
          type: array
        pagination:
          allOf:
            - $ref: '#/components/schemas/Pagination'
          default:
            current_page: 1
            limit: 100
          title: Pagination
        sort_params:
          allOf:
            - $ref: '#/components/schemas/UserAgentDataOverViewSortParams'
          default:
            key: total_visits
            value: -1
          title: Sort Params
      title: Body_browsers_overview_user_agent_browsers_post
      type: object
    Body_campaigns_overview_traffic_campaigns_post:
      properties:
        filter_groups:
          default: []
          items:
            $ref: '#/components/schemas/FilerGroupSchema'
          title: Filter Groups
          type: array
        pagination:
          allOf:
            - $ref: '#/components/schemas/Pagination'
          default:
            current_page: 1
            limit: 100
          title: Pagination
        sort_params:
          allOf:
            - $ref: '#/components/schemas/TrafficOverViewSortParams'
          default:
            key: total_visits
            value: -1
          title: Sort Params
      title: Body_campaigns_overview_traffic_campaigns_post
      type: object
    Body_channels_overview_traffic_channels_post:
      properties:
        filter_groups:
          default: []
          items:
            $ref: '#/components/schemas/FilerGroupSchema'
          title: Filter Groups
          type: array
        pagination:
          allOf:
            - $ref: '#/components/schemas/Pagination'
          default:
            current_page: 1
            limit: 100
          title: Pagination
        sort_params:
          allOf:
            - $ref: '#/components/schemas/TrafficOverViewSortParams'
          default:
            key: total_visits
            value: -1
          title: Sort Params
      title: Body_channels_overview_traffic_channels_post
      type: object
    Body_cities_overview_cities_post:
      properties:
        filter_groups:
          default: []
          items:
            $ref: '#/components/schemas/FilerGroupSchema'
          title: Filter Groups
          type: array
        pagination:
          allOf:
            - $ref: '#/components/schemas/Pagination'
          default:
            current_page: 1
            limit: 100
          title: Pagination
        sort_params:
          allOf:
            - $ref: '#/components/schemas/UserAgentDataOverViewSortParams'
          default:
            key: total_visits
            value: -1
          title: Sort Params
      title: Body_cities_overview_cities_post
      type: object
    Body_countries_overview_countries_post:
      properties:
        filter_groups:
          default: []
          items:
            $ref: '#/components/schemas/FilerGroupSchema'
          title: Filter Groups
          type: array
        pagination:
          allOf:
            - $ref: '#/components/schemas/Pagination'
          default:
            current_page: 1
            limit: 100
          title: Pagination
        sort_params:
          allOf:
            - $ref: '#/components/schemas/UserAgentDataOverViewSortParams'
          default:
            key: total_visits
            value: -1
          title: Sort Params
      title: Body_countries_overview_countries_post
      type: object
    Body_devices_overview_user_agent_devices_post:
      properties:
        filter_groups:
          default: []
          items:
            $ref: '#/components/schemas/FilerGroupSchema'
          title: Filter Groups
          type: array
        pagination:
          allOf:
            - $ref: '#/components/schemas/Pagination'
          default:
            current_page: 1
            limit: 100
          title: Pagination
        sort_params:
          allOf:
            - $ref: '#/components/schemas/UserAgentDataOverViewSortParams'
          default:
            key: total_visits
            value: -1
          title: Sort Params
      title: Body_devices_overview_user_agent_devices_post
      type: object
    Body_extensions_overview_user_agent_extensions_post:
      properties:
        filter_groups:
          default: []
          items:
            $ref: '#/components/schemas/FilerGroupSchema'
          title: Filter Groups
          type: array
        pagination:
          allOf:
            - $ref: '#/components/schemas/Pagination'
          default:
            current_page: 1
            limit: 100
          title: Pagination
        sort_params:
          allOf:
            - $ref: '#/components/schemas/UserAgentDataOverViewSortParams'
          default:
            key: total_visits
            value: -1
          title: Sort Params
      title: Body_extensions_overview_user_agent_extensions_post
      type: object
    Body_get_pages_overview_analytics_pages_post:
      properties:
        filter_groups:
          default: []
          items:
            $ref: '#/components/schemas/FilerGroupSchema'
          title: Filter Groups
          type: array
        pagination:
          allOf:
            - $ref: '#/components/schemas/Pagination'
          default:
            current_page: 1
            limit: 100
          title: Pagination
        sort_params:
          allOf:
            - $ref: '#/components/schemas/PagesSortParams'
          default:
            key: total
            value: -1
          title: Sort Params
      title: Body_get_pages_overview_analytics_pages_post
      type: object
    Body_get_visitor_visits_visitors__visitor_id__visits_post:
      properties:
        filter_groups:
          default: []
          items:
            $ref: '#/components/schemas/FilerGroupSchema'
          title: Filter Groups
          type: array
        pagination:
          allOf:
            - $ref: '#/components/schemas/Pagination'
          default:
            current_page: 1
            limit: 100
          title: Pagination
        sort_params:
          allOf:
            - $ref: '#/components/schemas/VisitorOverViewSortParams'
          default:
            key: created
            value: -1
          title: Sort Params
      title: Body_get_visitor_visits_visitors__visitor_id__visits_post
      type: object
    Body_get_visitors_visitors_post:
      properties:
        filter_groups:
          default: []
          items:
            $ref: '#/components/schemas/FilerGroupSchema'
          title: Filter Groups
          type: array
        pagination:
          allOf:
            - $ref: '#/components/schemas/Pagination'
          default:
            current_page: 1
            limit: 100
          title: Pagination
        sort_params:
          allOf:
            - $ref: '#/components/schemas/VisitorOverViewSortParams'
          default:
            key: created
            value: -1
          title: Sort Params
      title: Body_get_visitors_visitors_post
      type: object
    Body_get_visits_visits_post:
      properties:
        filter_groups:
          default: []
          items:
            $ref: '#/components/schemas/FilerGroupSchema'
          title: Filter Groups
          type: array
        pagination:
          allOf:
            - $ref: '#/components/schemas/Pagination'
          default:
            current_page: 1
            limit: 100
          title: Pagination
        sort_params:
          allOf:
            - $ref: '#/components/schemas/VisitSortParams'
          default:
            key: created
            value: -1
          title: Sort Params
      title: Body_get_visits_visits_post
      type: object
    Body_os_overview_user_agent_os_post:
      properties:
        filter_groups:
          default: []
          items:
            $ref: '#/components/schemas/FilerGroupSchema'
          title: Filter Groups
          type: array
        pagination:
          allOf:
            - $ref: '#/components/schemas/Pagination'
          default:
            current_page: 1
            limit: 100
          title: Pagination
        sort_params:
          allOf:
            - $ref: '#/components/schemas/UserAgentDataOverViewSortParams'
          default:
            key: total_visits
            value: -1
          title: Sort Params
      title: Body_os_overview_user_agent_os_post
      type: object
    Body_sources_overview_traffic_sources_post:
      properties:
        filter_groups:
          default: []
          items:
            $ref: '#/components/schemas/FilerGroupSchema'
          title: Filter Groups
          type: array
        pagination:
          allOf:
            - $ref: '#/components/schemas/Pagination'
          default:
            current_page: 1
            limit: 100
          title: Pagination
        sort_params:
          allOf:
            - $ref: '#/components/schemas/TrafficOverViewSortParams'
          default:
            key: total_visits
            value: -1
          title: Sort Params
      title: Body_sources_overview_traffic_sources_post
      type: object
    Body_states_overview_states_post:
      properties:
        filter_groups:
          default: []
          items:
            $ref: '#/components/schemas/FilerGroupSchema'
          title: Filter Groups
          type: array
        pagination:
          allOf:
            - $ref: '#/components/schemas/Pagination'
          default:
            current_page: 1
            limit: 100
          title: Pagination
        sort_params:
          allOf:
            - $ref: '#/components/schemas/UserAgentDataOverViewSortParams'
          default:
            key: total_visits
            value: -1
          title: Sort Params
      title: Body_states_overview_states_post
      type: object
    BrowsersResponseModel:
      properties:
        average_duration:
          title: Average Duration
          type: number
        name:
          title: Name
          type: string
        total_visits:
          title: Total Visits
          type: integer
        unique_visitors:
          title: Unique Visitors
          type: integer
      title: BrowsersResponseModel
      type: object
    CampaignsResponseModel:
      properties:
        average_duration:
          title: Average Duration
          type: number
        id:
          format: uuid
          title: Id
          type: string
        label:
          title: Label
          type: string
        name:
          title: Name
          type: string
        total_visits:
          title: Total Visits
          type: integer
        unique_visitors:
          title: Unique Visitors
          type: integer
      title: CampaignsResponseModel
      type: object
    ChannelsResponseModel:
      properties:
        average_duration:
          title: Average Duration
          type: number
        id:
          format: uuid
          title: Id
          type: string
        label:
          title: Label
          type: string
        name:
          title: Name
          type: string
        total_visits:
          title: Total Visits
          type: integer
        unique_visitors:
          title: Unique Visitors
          type: integer
      title: ChannelsResponseModel
      type: object
    CityResponseModel:
      properties:
        average_duration:
          title: Average Duration
          type: number
        label:
          title: Label
          type: string
        name:
          title: Name
          type: string
        total_visits:
          title: Total Visits
          type: integer
        unique_visitors:
          title: Unique Visitors
          type: integer
      title: CityResponseModel
      type: object
    CountryResponseModel:
      properties:
        average_duration:
          title: Average Duration
          type: number
        label:
          title: Label
          type: string
        name:
          title: Name
          type: string
        total_visits:
          title: Total Visits
          type: integer
        unique_visitors:
          title: Unique Visitors
          type: integer
      title: CountryResponseModel
      type: object
    DeviceResponseModel:
      properties:
        average_duration:
          title: Average Duration
          type: number
        name:
          title: Name
          type: string
        total_visits:
          title: Total Visits
          type: integer
        unique_visitors:
          title: Unique Visitors
          type: integer
      title: DeviceResponseModel
      type: object
    ExtensionsResponseModel:
      properties:
        average_duration:
          title: Average Duration
          type: number
        name:
          title: Name
          type: string
        total_visits:
          title: Total Visits
          type: integer
        unique_visitors:
          title: Unique Visitors
          type: integer
      title: ExtensionsResponseModel
      type: object
    Field:
      description: An enumeration.
      enum:
        - name
        - label
        - url
        - os
        - domain
      title: Field
      type: string
    FilerGroupSchema:
      properties:
        filters:
          items:
            $ref: '#/components/schemas/AnalyticsFilterSchema'
          title: Filters
          type: array
      required:
        - filters
      title: FilerGroupSchema
      type: object
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          title: Detail
          type: array
      title: HTTPValidationError
      type: object
    Object:
      description: An enumeration.
      enum:
        - country
        - city
        - state
        - visitor
        - device
        - source
        - channel
        - page
        - browser
        - company
      title: Object
      type: string
    Operator:
      description: An enumeration.
      enum:
        - is_any_of
        - is_not_any_of
        - is_known
        - is_unknown
        - not_contains
        - contains
      title: Operator
      type: string
    OsResponseModel:
      properties:
        average_duration:
          title: Average Duration
          type: number
        name:
          title: Name
          type: string
        total_visits:
          title: Total Visits
          type: integer
        unique_visitors:
          title: Unique Visitors
          type: integer
      title: OsResponseModel
      type: object
    PagesOverviewAnalyticsResponseModel:
      properties:
        avg_duration:
          title: Avg Duration
          type: number
        full_url:
          title: Full Url
          type: string
        total:
          title: Total
          type: integer
        visitors:
          title: Visitors
          type: integer
      required:
        - full_url
        - total
        - visitors
        - avg_duration
      title: PagesOverviewAnalyticsResponseModel
      type: object
    PagesSortParams:
      properties:
        key:
          allOf:
            - $ref: >-
                #/components/schemas/app__services__back_api__schemas__trak_data_schemas__page__SortKey
          default: total
        value:
          allOf:
            - $ref: >-
                #/components/schemas/app__services__back_api__schemas__trak_data_schemas__page__SortValue
          default: -1
      title: PagesSortParams
      type: object
    Pagination:
      properties:
        current_page:
          default: 1
          title: Current Page
          type: integer
        limit:
          default: 100
          title: Limit
          type: integer
      title: Pagination
      type: object
    SourcesResponseModel:
      properties:
        average_duration:
          title: Average Duration
          type: number
        id:
          format: uuid
          title: Id
          type: string
        label:
          title: Label
          type: string
        name:
          title: Name
          type: string
        total_visits:
          title: Total Visits
          type: integer
        unique_visitors:
          title: Unique Visitors
          type: integer
      title: SourcesResponseModel
      type: object
    StateResponseModel:
      properties:
        average_duration:
          title: Average Duration
          type: number
        label:
          title: Label
          type: string
        name:
          title: Name
          type: string
        total_visits:
          title: Total Visits
          type: integer
        unique_visitors:
          title: Unique Visitors
          type: integer
      title: StateResponseModel
      type: object
    TrafficOverViewSortParams:
      properties:
        key:
          allOf:
            - $ref: >-
                #/components/schemas/app__services__back_api__schemas__analytics__traffic__SortKey
          default: total_visits
        value:
          allOf:
            - $ref: >-
                #/components/schemas/app__services__back_api__schemas__analytics__traffic__SortValue
          default: -1
      title: TrafficOverViewSortParams
      type: object
    UserAgentDataOverViewSortParams:
      properties:
        key:
          allOf:
            - $ref: >-
                #/components/schemas/app__services__back_api__schemas__analytics__uga__SortKey
          default: total_visits
        value:
          allOf:
            - $ref: >-
                #/components/schemas/app__services__back_api__schemas__analytics__uga__SortValue
          default: -1
      title: UserAgentDataOverViewSortParams
      type: object
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          title: Location
          type: array
        msg:
          title: Message
          type: string
        type:
          title: Error Type
          type: string
      required:
        - loc
        - msg
        - type
      title: ValidationError
      type: object
    VisitSortParams:
      properties:
        key:
          allOf:
            - $ref: >-
                #/components/schemas/app__services__back_api__schemas__trak_data_schemas__visit__SortKey
          default: created
        value:
          allOf:
            - $ref: >-
                #/components/schemas/app__services__back_api__schemas__trak_data_schemas__visit__SortValue
          default: -1
      title: VisitSortParams
      type: object
    VisitorAdblockStatus:
      properties:
        adblock:
          anyOf:
            - type: boolean
            - type: string
          default: Unknown
          title: Adblock
        adblock_extension:
          title: Adblock Extension
          type: string
        visitor_id:
          title: Visitor Id
          type: string
      required:
        - visitor_id
        - adblock_extension
      title: VisitorAdblockStatus
      type: object
    VisitorBotStatus:
      properties:
        is_abuser:
          anyOf:
            - type: boolean
            - type: string
          default: Unknown
          title: Is Abuser
        is_attacker:
          anyOf:
            - type: boolean
            - type: string
          default: Unknown
          title: Is Attacker
        is_proxy:
          anyOf:
            - type: boolean
            - type: string
          default: Unknown
          title: Is Proxy
        is_threat:
          anyOf:
            - type: boolean
            - type: string
          default: Unknown
          title: Is Threat
        visitor_id:
          title: Visitor Id
          type: string
      required:
        - visitor_id
      title: VisitorBotStatus
      type: object
    VisitorOverViewSortParams:
      properties:
        key:
          allOf:
            - $ref: >-
                #/components/schemas/app__services__back_api__schemas__trak_data_schemas__visitor__SortKey
          default: created
        value:
          allOf:
            - $ref: >-
                #/components/schemas/app__services__back_api__schemas__trak_data_schemas__visitor__SortValue
          default: -1
      title: VisitorOverViewSortParams
      type: object
    VisitorScrapingStatus:
      properties:
        score:
          title: Score
          type: number
        visitor_id:
          title: Visitor Id
          type: string
        visitor_type:
          allOf:
            - $ref: '#/components/schemas/VisitorType'
          default: HUMAN
      required:
        - visitor_id
        - score
      title: VisitorScrapingStatus
      type: object
    VisitorType:
      description: An enumeration.
      enum:
        - HUMAN
        - SCRAPER
        - BOT
        - OTHER
        - UNKNOWN
      title: VisitorType
      type: string
    VisitorVPNStatus:
      properties:
        visitor_id:
          title: Visitor Id
          type: string
        vpn:
          anyOf:
            - type: boolean
            - type: string
          default: Unknown
          title: Vpn
      required:
        - visitor_id
      title: VisitorVPNStatus
      type: object
    VisitorsCompanyModel:
      properties:
        domain:
          title: Domain
          type: string
        name:
          title: Name
          type: string
      title: VisitorsCompanyModel
      type: object
    VisitorsResponseModel:
      description: |-
        exemple :    {
            "id": "810f523b-48bf-4e12-acfa-2ebe56031d82",
            "first_seen": "2024-09-25T10:18:02.985719+00:00",
            "last_seen": "2024-09-25T10:18:15.448207+00:00",
            "company": {
                "name": null,
                "domain": null
            }
      properties:
        company:
          $ref: '#/components/schemas/VisitorsCompanyModel'
        first_seen:
          title: First Seen
          type: string
        id:
          title: Id
          type: string
        last_seen:
          title: Last Seen
          type: string
      required:
        - id
        - first_seen
        - last_seen
      title: VisitorsResponseModel
      type: object
    VisitsBrowserModel:
      properties:
        name:
          title: Name
          type: string
        vendor:
          title: Vendor
          type: string
        version:
          title: Version
          type: string
      title: VisitsBrowserModel
      type: object
    VisitsDeviceModel:
      properties:
        gpu:
          title: Gpu
          type: string
        hardwareConcurrency:
          title: Hardwareconcurrency
          type: string
        model:
          title: Model
          type: string
        os:
          title: Os
          type: string
      title: VisitsDeviceModel
      type: object
    VisitsLocationModel:
      properties:
        city:
          title: City
          type: string
        country:
          title: Country
          type: string
        state:
          title: State
          type: string
      title: VisitsLocationModel
      type: object
    VisitsResponseModel:
      description: |2-
            exemple :
            [
            {
                "id": "1bd71b9f-a419-494d-82f8-c6d680a5e4c5",
                "url": "https://www.ceres.agency/hubspot/support-accompagnement",
                "params": {
                    "utm_medium": "ppc",
                    "utm_source": "adwords",
                    "utm_term": "agence hubspot",
                    "utm_campaign": "Hubspot",
                    "hsa_src": "g",
                    "hsa_ad": "569265074288",
                    "hsa_net": "adwords",
                    "hsa_grp": "134000771987",
                    "hsa_acc": "6560228531",
                    "hsa_tgt": "kwd-301679367318",
                    "hsa_mt": "e",
                    "hsa_cam": "1731098793",
                    "hsa_ver": "3",
                    "hsa_kw": "agence hubspot",
                    "gad_source": "1",
                    "gclid": "Cj0KCQjwxsm3BhDrARIsAMtVz6MGCqI9HtJGYV5rX5JdwVZZYyXe3YRRgD_OoYTOYk6GpohHoJpLpgYaAtbiEALw_wcB"
                },
                "referrer": "https://www.ceres.agency/hubspot/implementation/demarrage?utm_medium=ppc&utm_source=adwords&utm_term=agence%20hubspot&utm_campaign=Hubspot&hsa_src=g&hsa_ad=569265074288&hsa_net=adwords&hsa_grp=134000771987&hsa_acc=6560228531&hsa_tgt=kwd-301679367318&hsa_mt=e&hsa_cam=1731098793&hsa_ver=3&hsa_kw=agence%20hubspot&gad_source=1&gclid=Cj0KCQjwxsm3BhDrARIsAMtVz6MGCqI9HtJGYV5rX5JdwVZZYyXe3YRRgD_OoYTOYk6GpohHoJpLpgYaAtbiEALw_wcB",
                "date": "2024-09-25T10:18:58.156637+00:00",
                "location": {
                    "country": "France",
                    "city": "Rennes",
                    "state": "Bretagne"
                },
                "trafficSource": {
                    "channel": "Paid Other",
                    "source": "Agency",
                    "campaign": "hubspot"
                },
                "visitor_id": "64d61388-bbdc-454d-acae-8d6921af4558",
                "ip": "37.66.28.69",
                "device": {
                    "model": "MacIntel",
                    "os": "Mac",
                    "gpu": "ANGLE (Apple, ANGLE Metal Renderer: Apple M1 Pro, Unspecified Version)",
                    "hardwareConcurrency": "8"
                },
                "browser": {
                    "name": "Chrome",
                    "version": "128",
                    "vendor": "Google Inc."
                },
                "timezone": "Europe/Paris",
                "screen": {
                    "height": "1440",
                    "width": "2560",
                    "touch": "False"
                }
            },
            {
                "id": "19b6397d-a240-4d9b-b5e9-77a34d5e6290",
                "url": "https://www.ceres.agency/marketing-automation",
                "params": {},
                "referrer": "https://www.google.com/",
                "date": "2024-09-25T06:18:24.880407+00:00",
                "location": {
                    "country": "France",
                    "city": "Tremblay-en-France",
                    "state": "Île-de-France"
                },
                "trafficSource": {
                    "channel": "Organic Search",
                    "source": "Google",
                    "campaign": null
                },
                "visitor_id": "2029e78d-c842-4fc6-80b5-2d69924fc472",
                "ip": "2a02:8428:5b5:7801:95d3:3277:bf7:f146",
                "device": {
                    "model": "MacIntel",
                    "os": "Mac",
                    "gpu": "ANGLE (Apple, ANGLE Metal Renderer: Apple M1, Unspecified Version)",
                    "hardwareConcurrency": "8"
                },
                "browser": {
                    "name": "Chrome",
                    "version": "129",
                    "vendor": "Google Inc."
                },
                "timezone": "Europe/Paris",
                "screen": {
                    "height": "900",
                    "width": "1440",
                    "touch": "False"
                }
            }
        ]
      properties:
        browser:
          $ref: '#/components/schemas/VisitsBrowserModel'
        date:
          title: Date
          type: string
        device:
          $ref: '#/components/schemas/VisitsDeviceModel'
        id:
          title: Id
          type: string
        ip:
          title: Ip
          type: string
        location:
          $ref: '#/components/schemas/VisitsLocationModel'
        params:
          anyOf:
            - type: object
            - type: string
          title: Params
        referrer:
          title: Referrer
          type: string
        screen:
          $ref: '#/components/schemas/VisitsScreenModel'
        timezone:
          title: Timezone
          type: string
        trafficSource:
          $ref: '#/components/schemas/VisitsTrafficSourceModel'
        url:
          title: Url
          type: string
        visitor_id:
          title: Visitor Id
          type: string
      title: VisitsResponseModel
      type: object
    VisitsScreenModel:
      properties:
        height:
          title: Height
          type: string
        touch:
          anyOf:
            - type: string
            - type: boolean
          title: Touch
        width:
          title: Width
          type: string
      title: VisitsScreenModel
      type: object
    VisitsTrafficSourceModel:
      properties:
        campaign:
          title: Campaign
          type: string
        channel:
          title: Channel
          type: string
        source:
          title: Source
          type: string
      title: VisitsTrafficSourceModel
      type: object
    VisitorScrapingExtensionsStatus:
      properties:
        adblock:
          anyOf:
            - type: boolean
            - type: string
          default: Unknown
          title: Adblock
        scraper_extension_list:
          default: []
          items:
            type: string
          title: Scraper Extension List
          type: array
        visitor_id:
          title: Visitor Id
          type: string
      required:
        - visitor_id
      title: VisitorScrapingExtensionsStatus
      type: object
    app__services__back_api__schemas__analytics__traffic__SortKey:
      description: An enumeration.
      enum:
        - total_visits
        - unique_visitors
        - average_duration
        - name
      title: SortKey
    app__services__back_api__schemas__analytics__traffic__SortValue:
      description: An enumeration.
      enum:
        - 1
        - -1
      title: SortValue
      type: integer
    app__services__back_api__schemas__analytics__uga__SortKey:
      description: An enumeration.
      enum:
        - total_visits
        - unique_visitors
        - average_duration
        - name
      title: SortKey
    app__services__back_api__schemas__analytics__uga__SortValue:
      description: An enumeration.
      enum:
        - 1
        - -1
      title: SortValue
      type: integer
    app__services__back_api__schemas__trak_data_schemas__page__SortKey:
      description: An enumeration.
      enum:
        - total
        - full_url
        - visitors
        - avg_duration
      title: SortKey
    app__services__back_api__schemas__trak_data_schemas__page__SortValue:
      description: An enumeration.
      enum:
        - 1
        - -1
      title: SortValue
      type: integer
    app__services__back_api__schemas__trak_data_schemas__visit__SortKey:
      description: An enumeration.
      enum:
        - created
        - id
      title: SortKey
    app__services__back_api__schemas__trak_data_schemas__visit__SortValue:
      description: An enumeration.
      enum:
        - 1
        - -1
      title: SortValue
      type: integer
    app__services__back_api__schemas__trak_data_schemas__visitor__SortKey:
      description: An enumeration.
      enum:
        - id
        - created
      title: SortKey
    app__services__back_api__schemas__trak_data_schemas__visitor__SortValue:
      description: An enumeration.
      enum:
        - 1
        - -1
      title: SortValue
      type: integer
  securitySchemes:
    ApiKeyAuth:
      description: Your api key created in your app
      type: apiKey
      in: header
      name: x-api-key
servers:
  - url: https://api.fingerprinting-api.com
security:
  - ApiKeyAuth: []
