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

# Submit feedback for an event

> Use this API to submit feedback for a specific, existing event, identified by `event_id`.

Feedback is queued and processed asynchronously. Subsequent Server API responses may not reflect the feedback immediately.

Duplicate feedback requests for the same event are allowed; however, the most recent feedback overrides all previous submissions for that event.

### Availability
This API is currently in beta and available only for Enterprise plans. If you are interested, please [contact our support team](https://fingerprint.com/support/).

### Rate limits and daily quota
The rate limits and daily quota for this API **differ** from those for our other APIs.

Feedback can be submitted at a maximum of 30 requests per hour (RPH) and cannot exceed 500 requests per day (RPD).

You can request an increase to these limits by contacting [our support team](https://fingerprint.com/support/). 




## OpenAPI

````yaml post /events/{event_id}/feedback
openapi: 3.1.1
info:
  title: Server API
  description: >
    Fingerprint Server API allows you to get, search, and update Events in a
    server environment. It can be used for data exports, decision-making, and
    data analysis scenarios.

    Server API is intended for server-side usage, it's not intended to be used
    from the client side, whether it's a browser or a mobile device.

    The API also supports collection of Automation Intelligence for requests to
    your server in edge, pre-origin, or middleware contexts.
  version: '4'
  contact:
    name: Fingerprint Support
    email: support@fingerprint.com
  license:
    name: MIT
    url: >-
      https://github.com/fingerprintjs/fingerprint-pro-server-api-openapi/blob/main/LICENSE
servers:
  - url: https://api.fpjs.io/v4
    description: Global
  - url: https://eu.api.fpjs.io/v4
    description: EU
  - url: https://ap.api.fpjs.io/v4
    description: Asia (Mumbai)
security:
  - bearerAuth: []
tags:
  - name: Events
    description: |
      Get, update, or search for information about events.
  - name: Visitors
    description: |
      Delete visitor data.
  - name: Edge
    description: |
      Create events with the Automation Intelligence API.
paths:
  /events/{event_id}/feedback:
    post:
      tags:
        - Events
      summary: Submit feedback for an event
      description: >
        Use this API to submit feedback for a specific, existing event,
        identified by `event_id`.


        Feedback is queued and processed asynchronously. Subsequent Server API
        responses may not reflect the feedback immediately.


        Duplicate feedback requests for the same event are allowed; however, the
        most recent feedback overrides all previous submissions for that event.


        ### Availability

        This API is currently in beta and available only for Enterprise plans.
        If you are interested, please [contact our support
        team](https://fingerprint.com/support/).


        ### Rate limits and daily quota

        The rate limits and daily quota for this API **differ** from those for
        our other APIs.


        Feedback can be submitted at a maximum of 30 requests per hour (RPH) and
        cannot exceed 500 requests per day (RPD).


        You can request an increase to these limits by contacting [our support
        team](https://fingerprint.com/support/). 
      operationId: submitEventFeedback
      parameters:
        - name: event_id
          in: path
          required: true
          schema:
            type: string
            examples:
              - 1708102555327.NLOjmg
          description: >
            The [event
            ID](https://docs.fingerprint.com/reference/js-agent-v4-get-function#event_id)
            of the identification event you want to submit feedback for.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EventFeedbackRequest'
      responses:
        '202':
          description: >-
            Accepted. The feedback has been accepted and will be processed
            asynchronously.
        '400':
          description: Bad request. The request payload is not valid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                400-bad-request:
                  summary: Error response when the request body is invalid.
                  value:
                    error:
                      code: request_cannot_be_parsed
                      message: request body is not valid
        '403':
          description: Forbidden. Access to this API is denied.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                403-secret-api-key-required:
                  summary: Error response when the secret API key was not provided.
                  value:
                    error:
                      code: secret_api_key_required
                      message: secret API key in header is missing or empty
                403-secret-api-key-not-found:
                  summary: >-
                    Error response when the provided secret API key does not
                    exist.
                  value:
                    error:
                      code: secret_api_key_not_found
                      message: >-
                        no fingerprint workspace found for specified secret API
                        key
        '404':
          description: Not found. The event Id cannot be found in this workspace's data.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                404-event-not-found:
                  summary: Error response when the provided event Id does not exist.
                  value:
                    error:
                      code: event_not_found
                      message: event id not found
        '429':
          description: Too Many Requests. The request is throttled.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                429-too-many-requests-error:
                  summary: Too many requests error
                  value:
                    error:
                      code: too_many_requests
                      message: too many requests
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                500-error:
                  summary: Request failed
                  value:
                    error:
                      code: failed
                      message: internal server error
components:
  schemas:
    EventFeedbackRequest:
      type: object
      description: >
        The request must contain at least one feedback type. When the request
        contains more than one feedback type, each will be processed
        independently.

        Currently, only one feedback type is supported:
        `reset_identification_confidence_score`.

        Additional feedback types may be introduced in the future.
      additionalProperties: false
      minProperties: 1
      required: []
      properties:
        reset_identification_confidence_score:
          type: boolean
          description: >
            Set to `true` to reset the identification confidence score for this
            event to `1.0`.


            Use this feedback type when the browser has been verified through a
            trusted external mechanism of your choice, such as biometrics or
            MFA. The feedback must be submitted within 24 hours of the
            identification event. Requests submitted after this window will be
            rejected.


            Once the reset is applied, subsequent identification events from the
            same browser will reflect an updated confidence score. 

            * When the browser is deterministically matched with the reset
            event, the confidence score will be `1.0`.

            * When the browser is probabilistically matched with the reset
            event, the confidence score will no longer be `1.0`. 
              Instead, it will decrease **gradually** depending on how much the browser's properties have changed since the reset.

            #### Availability

            * Currently in *beta* and is available only for Enterprise plans
            **upon request**. If you are interested, please [contact our support
            team](https://fingerprint.com/support/).

            * Supported only for events that originated from the [JavaScript
            agent](/reference/js-agent) and/or the [frontend
            libraries](/docs/frontend-libraries).

            * Not supported for events that originated from any of our [mobile
            SDKs](/docs/mobile-identification).
    ErrorResponse:
      type: object
      additionalProperties: false
      required:
        - error
      properties:
        error:
          $ref: '#/components/schemas/Error'
    Error:
      type: object
      additionalProperties: false
      required:
        - code
        - message
      properties:
        code:
          $ref: '#/components/schemas/ErrorCode'
        message:
          type: string
          examples:
            - Forbidden
    ErrorCode:
      type: string
      enum:
        - request_cannot_be_parsed
        - request_read_timeout
        - secret_api_key_required
        - secret_api_key_not_found
        - public_api_key_required
        - public_api_key_not_found
        - subscription_not_active
        - wrong_region
        - feature_not_enabled
        - visitor_not_found
        - too_many_requests
        - state_not_ready
        - failed
        - event_not_found
        - missing_module
        - payload_too_large
        - service_unavailable
        - ruleset_not_found
      description: >
        Error code:

        * `request_cannot_be_parsed` - The query parameters or JSON payload
        contains some errors
          that prevented us from parsing it (wrong type/surpassed limits).
        * `request_read_timeout` - The request body could not be read before the
        connection timed out.

        * `secret_api_key_required` - secret API key in header is missing or
        empty.

        * `secret_api_key_not_found` - No Fingerprint workspace found for
        specified secret API key.

        * `public_api_key_required` - public API key in header is missing or
        empty.

        * `public_api_key_not_found` - No Fingerprint workspace found for
        specified public API key.

        * `subscription_not_active` - Fingerprint workspace is not active.

        * `wrong_region` - Server and workspace region differ.

        * `feature_not_enabled` - This feature (for example, Delete API) is not
        enabled for your workspace.

        * `visitor_not_found` - The specified visitor ID was not found. It never
        existed or it may have already been deleted.

        * `too_many_requests` - The limit on secret API key requests per second
        has been exceeded.

        * `state_not_ready` - The event specified with event ID is
          not ready for updates yet. Try again.
          This error happens in rare cases when update API is called immediately
          after receiving the event ID on the client. In case you need to send
          information right away, we recommend using the JS agent API instead.
        * `failed` - Internal server error.

        * `event_not_found` - The specified event ID was not found. It never
        existed, expired, or it has been deleted.

        * `missing_module` - The request is invalid because it is missing a
        required module.

        * `payload_too_large` - The request payload is too large and cannot be
        processed.

        * `service_unavailable` - The service was unable to process the request.

        * `ruleset_not_found` - The specified ruleset was not found. It never
        existed or it has been deleted.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: string
      description: >-
        Add your Secret API Key to the Authorization header using the standard
        Bearer format: `Authorization: Bearer <secret_api_key>`

````