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

# Update an event with a given request ID

> > 🚧 Deprecation Notice
> 
> This version of the API will **soon be deprecated** under our [API Deprecation Policy](https://dev.fingerprint.com/reference/api-deprecation-policy). The deprecation period will begin once all proxy and library integrations (both backend and frontend) are released. We will continue to provide full support for 12 months from that effective date. This notice will be updated with the **official deprecation date once it is set**. If you don’t use libraries or proxy integrations, you can use this [migration guide](https://dev.fingerprint.com/reference/migrating-from-server-api-v3-to-v4#migrating-update-event) to **start the transition to the new API today**.


Change information in existing events specified by `requestId` or *flag suspicious events*.

When an event is created, it is assigned `linkedId` and `tag` submitted through the JS agent parameters. This information might not be available on the client so the Server API allows for updating the attributes after the fact.

**Warning** It's not possible to update events older than 10 days.


export const DeprecatedVersion = ({currentPath}) => <Warning>
    This version is deprecated. See the{" "}
    <a href="/reference/api-deprecation-policy">deprecation policy</a> and use
    the <a href={currentPath}>current version</a> instead.
  </Warning>;

<DeprecatedVersion currentPath="/reference/server-api-v4-update-event" />

Change information in existing events specified by `requestId` or *flag suspicious events*.

When an event is created, it is assigned `linkedId` and `tag` submitted through the JavaScript agent parameters. This information might not be available on the client so the Server API allows for updating the attributes after the fact.

**Warning** It's not possible to update events older than 10 days.


## OpenAPI

````yaml reference/fingerprint-pro-server-api.json PUT /events/{request_id}
openapi: 3.0.3
info:
  title: Server API v3 (deprecated)
  description: >
    > 🚧 Deprecation Notice

    > 

    > This version of the API will **soon be deprecated** under our [API
    Deprecation
    Policy](https://dev.fingerprint.com/reference/api-deprecation-policy). The
    deprecation period will begin once all proxy and library integrations (both
    backend and frontend) are released. We will continue to provide full support
    for 12 months from that effective date. This notice will be updated with the
    **official deprecation date once it is set**. If you don’t use libraries or
    proxy integrations, you can use this [migration
    guide](https://dev.fingerprint.com/reference/migrating-from-server-api-v3-to-v4)
    to **start the transition to the new API today**.


    Fingerprint Server API allows you to search, update, and delete
    identification 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.
  version: '3'
  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
    description: Global
  - url: https://eu.api.fpjs.io
    description: EU
  - url: https://ap.api.fpjs.io
    description: Asia (Mumbai)
security:
  - ApiKeyHeader: []
  - ApiKeyQuery: []
tags:
  - name: Events
    description: >
      Retrieve or update information about individual events using the event's
      request ID.
  - name: Event Search
    description: |
      Search for events matching one or more filters.
  - name: Visitors
    description: |
      Retrieve all events of an individual visitor using their visitor ID.
  - name: Related Visitors
    description: >
      Find visitor IDs that originated from a different browser on the same
      mobile device.
paths:
  /events/{request_id}:
    put:
      tags:
        - Events
      summary: Update an event with a given request ID
      description: >
        > 🚧 Deprecation Notice

        > 

        > This version of the API will **soon be deprecated** under our [API
        Deprecation
        Policy](https://dev.fingerprint.com/reference/api-deprecation-policy).
        The deprecation period will begin once all proxy and library
        integrations (both backend and frontend) are released. We will continue
        to provide full support for 12 months from that effective date. This
        notice will be updated with the **official deprecation date once it is
        set**. If you don’t use libraries or proxy integrations, you can use
        this [migration
        guide](https://dev.fingerprint.com/reference/migrating-from-server-api-v3-to-v4#migrating-update-event)
        to **start the transition to the new API today**.



        Change information in existing events specified by `requestId` or *flag
        suspicious events*.


        When an event is created, it is assigned `linkedId` and `tag` submitted
        through the JS agent parameters. This information might not be available
        on the client so the Server API allows for updating the attributes after
        the fact.


        **Warning** It's not possible to update events older than 10 days.
      operationId: updateEvent
      parameters:
        - name: request_id
          in: path
          required: true
          schema:
            type: string
          description: >-
            The unique event
            [identifier](https://dev.fingerprint.com/reference/get-function#requestid).
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EventsUpdateRequest'
      responses:
        '200':
          description: OK.
        '400':
          description: Bad request. The request payload is not valid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                example:
                  summary: >-
                    Error response when the specified request payload is not
                    valid and cannot be parsed.
                  value:
                    error:
                      code: RequestCannotBeParsed
                      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-token-required:
                  summary: Error response when the secret API key was not provided.
                  value:
                    error:
                      code: TokenRequired
                      message: secret key is required
                403-token-not-found:
                  summary: >-
                    Error response when the provided secret API key does not
                    exist.
                  value:
                    error:
                      code: TokenNotFound
                      message: secret key is not found
                403-wrong-region:
                  summary: >-
                    Error response when the API region is different from the
                    region, the calling application is configured with.
                  value:
                    error:
                      code: WrongRegion
                      message: wrong region
        '404':
          description: >-
            Not found. The request ID cannot be found in this application's
            data.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                404-request-not-found:
                  summary: Error response when the provided request ID does not exist.
                  value:
                    error:
                      code: RequestNotFound
                      message: request id is not found
        '409':
          description: Conflict. The event is not mutable yet.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                example:
                  summary: Error response when the event is not mutable yet.
                  value:
                    error:
                      code: StateNotReady
                      message: resource is not mutable yet, try again
components:
  schemas:
    EventsUpdateRequest:
      type: object
      properties:
        linkedId:
          type: string
          description: LinkedID value to assign to the existing event
        tag:
          $ref: '#/components/schemas/Tag'
        suspect:
          type: boolean
          description: Suspect flag indicating observed suspicious or fraudulent event
          x-go-force-pointer: true
    ErrorResponse:
      type: object
      additionalProperties: false
      required:
        - error
      properties:
        error:
          $ref: '#/components/schemas/Error'
    Tag:
      type: object
      description: >-
        A customer-provided value or an object that was sent with identification
        request.
      additionalProperties: true
    Error:
      type: object
      additionalProperties: false
      required:
        - code
        - message
      properties:
        code:
          $ref: '#/components/schemas/ErrorCode'
        message:
          type: string
    ErrorCode:
      type: string
      enum:
        - RequestCannotBeParsed
        - TokenRequired
        - TokenNotFound
        - SubscriptionNotActive
        - WrongRegion
        - FeatureNotEnabled
        - WorkspaceScopedSecretKeyRequired
        - RequestNotFound
        - VisitorNotFound
        - TooManyRequests
        - 429 Too Many Requests
        - StateNotReady
        - Failed
      description: |
        Error code:
         * `RequestCannotBeParsed` - the query parameters or JSON payload contains some errors 
                  that prevented us from parsing it (wrong type/surpassed limits).
         * `TokenRequired` - `Auth-API-Key` header is missing or empty.
         * `TokenNotFound` - no Fingerprint application found for specified secret key.
         * `SubscriptionNotActive` - Fingerprint application is not active.
         * `WrongRegion` - server and application region differ.
         * `FeatureNotEnabled` - this feature (for example, Delete API) is not enabled for your application.
         * `WorkspaceScopedSecretKeyRequired` - The provided secret API key is scoped to an environment, but this operation requires a workspace-scoped secret API key.
         * `RequestNotFound` - the specified request ID was not found. It never existed, expired, or it has been deleted.
         * `VisitorNotFound` - The specified visitor ID was not found. It never existed or it may have already been deleted.
         * `TooManyRequests` - the limit on secret API key requests per second has been exceeded.
         * `429 Too Many Requests` - the limit on secret API key requests per second has been exceeded.
         * `StateNotReady` - The event specified with request id is
                  not ready for updates yet. Try again.
                  This error happens in rare cases when update API is called immediately
                  after receiving the request 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.
  securitySchemes:
    ApiKeyHeader:
      type: apiKey
      in: header
      name: Auth-API-Key
    ApiKeyQuery:
      type: apiKey
      in: query
      name: api_key

````