Sift · Arazzo Workflow

Sift Chargeback Label And Rescore

Version 1.0.0

Record a chargeback, label the user as fraudulent, and force a fresh score.

1 workflow 3 source APIs 1 provider
View Spec View on GitHub Fraud PreventionTrust and SafetyRisk ScoringIdentity VerificationChargebacksAccount TakeoverContent AbuseArazzoWorkflows

Provider

sift-com

Workflows

chargeback-label-rescore
Submit a chargeback event, label the user fraudulent, rescore, and read the new score.
Records a $chargeback event, applies a fraud label for payment abuse, forces a rescore of the user, and retrieves the recomputed score.
4 steps inputs: abuseType, analyst, apiKey, userId outputs: chargebackEventStatus, updatedScores
1
sendChargeback
Record a $chargeback event for the user so the dispute is captured on the Sift timeline.
2
labelUser
Apply a fraudulent label to the user for the chargeback abuse type as a training signal for Sift's models.
3
rescore
Force a fresh Sift Score computation so the chargeback label is reflected in the user's risk immediately.
4
getUpdatedScore
Read back the recomputed score to confirm the new risk value after the label and rescore.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Sift Chargeback Label And Rescore
  summary: Record a chargeback, label the user as fraudulent, and force a fresh score.
  description: >-
    The fraud-feedback loop that keeps Sift's models sharp. When a chargeback
    arrives the workflow records a $chargeback event, applies a fraudulent label
    to the user as a payment-abuse training signal, forces a fresh Sift Score
    computation so downstream systems see the updated risk immediately, and reads
    the recomputed score back. The Labels API is deprecated in favor of Decisions
    for new integrations but remains supported for backfill, which is the
    historical-bookkeeping purpose modeled here. Every request is inlined.
  version: 1.0.0
sourceDescriptions:
- name: eventsApi
  url: ../openapi/sift-com-events-api-openapi.yml
  type: openapi
- name: labelsApi
  url: ../openapi/sift-com-labels-api-openapi.yml
  type: openapi
- name: scoresApi
  url: ../openapi/sift-com-scores-api-openapi.yml
  type: openapi
workflows:
- workflowId: chargeback-label-rescore
  summary: Submit a chargeback event, label the user fraudulent, rescore, and read the new score.
  description: >-
    Records a $chargeback event, applies a fraud label for payment abuse, forces
    a rescore of the user, and retrieves the recomputed score.
  inputs:
    type: object
    required:
    - apiKey
    - userId
    properties:
      apiKey:
        type: string
        description: Sift account API key sent in event and label bodies as $api_key.
      userId:
        type: string
        description: The user's unique identifier ($user_id).
      analyst:
        type: string
        description: Optional analyst email recorded with the label.
      abuseType:
        type: string
        description: Abuse type for the label and rescore (payment_abuse, content_abuse, account_takeover, account_abuse, promotion_abuse, legacy).
        default: payment_abuse
  steps:
  - stepId: sendChargeback
    description: >-
      Record a $chargeback event for the user so the dispute is captured on the
      Sift timeline.
    operationId: sendEvent
    parameters:
    - name: abuse_types
      in: query
      value: $inputs.abuseType
    requestBody:
      contentType: application/json
      payload:
        $type: $chargeback
        $api_key: $inputs.apiKey
        $user_id: $inputs.userId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      eventStatus: $response.body#/status
  - stepId: labelUser
    description: >-
      Apply a fraudulent label to the user for the chargeback abuse type as a
      training signal for Sift's models.
    operationId: applyLabel
    parameters:
    - name: user_id
      in: path
      value: $inputs.userId
    requestBody:
      contentType: application/json
      payload:
        $api_key: $inputs.apiKey
        $is_bad: true
        $abuse_type: $inputs.abuseType
        $description: Labeled fraudulent following a chargeback.
        $source: $inputs.analyst
        $analyst: $inputs.analyst
    successCriteria:
    - condition: $statusCode == 200
  - stepId: rescore
    description: >-
      Force a fresh Sift Score computation so the chargeback label is reflected
      in the user's risk immediately.
    operationId: rescoreUser
    parameters:
    - name: user_id
      in: path
      value: $inputs.userId
    - name: abuse_types
      in: query
      value: $inputs.abuseType
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      scores: $response.body#/scores
  - stepId: getUpdatedScore
    description: >-
      Read back the recomputed score to confirm the new risk value after the
      label and rescore.
    operationId: getScore
    parameters:
    - name: user_id
      in: path
      value: $inputs.userId
    - name: abuse_types
      in: query
      value: $inputs.abuseType
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      scores: $response.body#/scores
      latestLabels: $response.body#/latest_labels
  outputs:
    chargebackEventStatus: $steps.sendChargeback.outputs.eventStatus
    updatedScores: $steps.getUpdatedScore.outputs.scores

Work with this as data

Every workflow here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This workflow
curl "https://apis.io/api/v1/arazzo/sift-com-chargeback-label-rescore-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.