---
title: "Compute Protect Trust Index Score"
method: POST
path: "/protect/compute"
tags: ["plaid"]
---

# Compute Protect Trust Index Score

`POST /protect/compute`

Use this endpoint to compute a Protect Trust Index score and retrieve fraud attributes.

For link-session models, if the Link session is not yet complete, the endpoint returns HTTP 400 with `error_type` = `INVALID_REQUEST` and `error_code` = `FAILED_PRECONDITION`.

## Request body

- ProtectComputeRequest — Request object for /protect/compute
  - `client_id` string — Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.
  - `secret` string — Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.
  - `model` string, required — The name of the Trust Index model to use for calculating the Trust Index Score, with a major.minor version suffix. Examples include `ti-link-session-2.0` and `ti-identity-2.0`. The model specified may require certain fields within `model_inputs`. For example, `ti-link-session-2.0` requires the `link` field to be provided in `model_inputs`.
  - `user` ProtectUser, required — Represents an end user for /protect/compute requests.
    - `user_id` string — The Plaid User ID returned from a previous call to `/user/create`. This or `client_user_id` can be provided, not both.
    - `client_user_id` string — A unique ID representing the end user. Maximum of 128 characters. Typically this will be a user ID number from your application. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`.
  - `model_inputs` ProtectModelInputs, nullable — Inputs for the Trust Index model. The `link` field is required for any link session model type.
    - `link` ProtectLinkModelInputs, nullable — Inputs for link session Trust Index models.
      - `link_session_id` string, required — A unique identifier for the Link session, used to compute a Trust Index score and fraud attributes.
      - `require_extracted_data` boolean — Controls whether transaction extraction must be complete before scoring. If `false` (default), returns a score whether or not transaction extraction is complete, as long as the link session is finished; if data has been extracted it will still be included in the score computation. If `true`, returns HTTP 400 with `error_type` = `INVALID_REQUEST` and `error_code` = `FAILED_PRECONDITION` if extraction is still in progress; once data is ready a score will be returned normally.
    - `sdk` ProtectSDKModelInputs, nullable — Inputs for Protect SDK Trust Index models.
      - `sdk_session_id` string, required — A unique identifier for the Protect SDK session, used to compute a Trust Index score and fraud attributes.

## Response `200`

OK

- ProtectComputeResponse — Response object for /protect/compute
  - `score` integer, nullable — The trust index score.
  - `model` string — The versioned name of the Trust Index model used for scoring.
  - `attributes` FraudAttributes, nullable — Event fraud attributes as an arbitrary set of key-value pairs.
  - `request_id` string, required — A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.

## Changes

- **2026-03-04** `ac31f04fdb58` — 2 warning, 4 info
  - removed the optional property `fraud_attributes` from the response with the `200` status
  - removed the optional property `trust_index` from the response with the `200` status
  - added the new optional request property `model_inputs/sdk`
  - added the optional property `attributes` to the response with the `200` status
  - …2 more
- **2026-02-17** `cd6c86bfb523` — 1 info
  - endpoint added
- **2024-02-21** `5de70cc1e6ca` — 1 breaking
  - api path removed without deprecation

[Change history](https://skmtc.dev/plaid/apis/the-plaid-api/changes/protect/compute/post.md)

---

[API](https://skmtc.dev/plaid/apis/the-plaid-api.md) · [All operations](https://skmtc.dev/plaid/apis/the-plaid-api/llms.txt) · [OpenAPI document](https://skmtc.dev/plaid/apis/the-plaid-api/revisions/ac31f04fdb58?raw)
