{
  "opencollection": "1.0.0",
  "info": {
    "name": "Sift API",
    "version": "2026-07-12",
    "description": "Sift digital trust and safety REST APIs - Events, Score, Decisions, Workflows, Labels (legacy), Verification (OTP), and PSP Merchant Management. Base URL https://api.sift.com. Authenticate with your Sift REST API key via HTTP Basic auth (key as username, empty password); ingestion APIs also accept the key as $api_key in the body. Account-scoped APIs require your numeric Account ID. MODELED by API Evangelist from developers.sift.com and the official Sift client libraries."
  },
  "request": {
    "auth": {
      "type": "basic",
      "username": "{{apiKey}}",
      "password": ""
    }
  },
  "items": [
    {
      "info": { "name": "Events", "type": "folder" },
      "items": [
        {
          "info": { "name": "Send an event", "type": "http" },
          "http": {
            "method": "POST",
            "url": "https://api.sift.com/v205/events?return_score=true&abuse_types=payment_abuse",
            "params": [
              { "name": "return_score", "value": "true", "type": "query", "description": "Return the Sift Score inline." },
              { "name": "abuse_types", "value": "payment_abuse", "type": "query", "description": "Abuse types to score against." }
            ],
            "body": { "type": "json", "data": "{\n  \"$type\": \"$create_order\",\n  \"$api_key\": \"{{apiKey}}\",\n  \"$user_id\": \"billy_jones_301\",\n  \"$order_id\": \"ORDER-28168441\",\n  \"$amount\": 115940000,\n  \"$currency_code\": \"USD\"\n}" }
          },
          "docs": "Records a user event so Sift can update its models. Reserved event types are prefixed with $."
        }
      ]
    },
    {
      "info": { "name": "Score", "type": "folder" },
      "items": [
        {
          "info": { "name": "Get a user's Sift Score", "type": "http" },
          "http": {
            "method": "GET",
            "url": "https://api.sift.com/v205/score/:user_id?abuse_types=payment_abuse,account_takeover",
            "params": [
              { "name": "user_id", "value": "billy_jones_301", "type": "path", "description": "The user ID." },
              { "name": "abuse_types", "value": "payment_abuse,account_takeover", "type": "query", "description": "Abuse types to return." }
            ]
          },
          "docs": "Retrieves the current Sift Score(s) for a user (0-100, higher is riskier) with reason codes."
        },
        {
          "info": { "name": "Get latest score (no recompute)", "type": "http" },
          "http": {
            "method": "GET",
            "url": "https://api.sift.com/v205/users/:user_id/score",
            "params": [
              { "name": "user_id", "value": "billy_jones_301", "type": "path", "description": "The user ID." }
            ]
          },
          "docs": "Fetches the latest previously computed Sift Score without recomputing."
        },
        {
          "info": { "name": "Rescore a user", "type": "http" },
          "http": {
            "method": "POST",
            "url": "https://api.sift.com/v205/users/:user_id/score?abuse_types=payment_abuse",
            "params": [
              { "name": "user_id", "value": "billy_jones_301", "type": "path", "description": "The user ID." },
              { "name": "abuse_types", "value": "payment_abuse", "type": "query", "description": "Abuse types to rescore." }
            ],
            "body": { "type": "json", "data": "{}" }
          },
          "docs": "Recomputes and returns the Sift Score for a user."
        }
      ]
    },
    {
      "info": { "name": "Labels (Legacy)", "type": "folder" },
      "items": [
        {
          "info": { "name": "Apply a label", "type": "http" },
          "http": {
            "method": "POST",
            "url": "https://api.sift.com/v205/users/:user_id/labels",
            "params": [
              { "name": "user_id", "value": "billy_jones_301", "type": "path", "description": "The user ID." }
            ],
            "body": { "type": "json", "data": "{\n  \"$api_key\": \"{{apiKey}}\",\n  \"$is_bad\": true,\n  \"$abuse_type\": \"payment_abuse\",\n  \"$description\": \"Chargeback received\"\n}" }
          },
          "docs": "Labels a user as good or bad for an abuse type. Legacy - prefer the Decisions API."
        },
        {
          "info": { "name": "Remove a label", "type": "http" },
          "http": {
            "method": "DELETE",
            "url": "https://api.sift.com/v205/users/:user_id/labels?abuse_type=payment_abuse",
            "params": [
              { "name": "user_id", "value": "billy_jones_301", "type": "path", "description": "The user ID." },
              { "name": "abuse_type", "value": "payment_abuse", "type": "query", "description": "The abuse type of the label to remove." }
            ]
          },
          "docs": "Removes a previously applied label from a user."
        }
      ]
    },
    {
      "info": { "name": "Decisions", "type": "folder" },
      "items": [
        {
          "info": { "name": "List configured decisions", "type": "http" },
          "http": {
            "method": "GET",
            "url": "https://api.sift.com/v3/accounts/:account_id/decisions",
            "params": [
              { "name": "account_id", "value": "{{accountId}}", "type": "path", "description": "Your numeric Sift Account ID." }
            ]
          },
          "docs": "Lists the decisions configured for an account."
        },
        {
          "info": { "name": "Get decision status for a user", "type": "http" },
          "http": {
            "method": "GET",
            "url": "https://api.sift.com/v3/accounts/:account_id/users/:user_id/decisions",
            "params": [
              { "name": "account_id", "value": "{{accountId}}", "type": "path", "description": "Your numeric Sift Account ID." },
              { "name": "user_id", "value": "billy_jones_301", "type": "path", "description": "The user ID." }
            ]
          },
          "docs": "Retrieves the latest decisions applied to a user, per abuse type."
        },
        {
          "info": { "name": "Apply a decision to a user", "type": "http" },
          "http": {
            "method": "POST",
            "url": "https://api.sift.com/v3/accounts/:account_id/users/:user_id/decisions",
            "params": [
              { "name": "account_id", "value": "{{accountId}}", "type": "path", "description": "Your numeric Sift Account ID." },
              { "name": "user_id", "value": "billy_jones_301", "type": "path", "description": "The user ID." }
            ],
            "body": { "type": "json", "data": "{\n  \"decision_id\": \"block_user_payment_abuse\",\n  \"source\": \"MANUAL_REVIEW\",\n  \"analyst\": \"analyst@example.com\",\n  \"description\": \"Blocking known fraud user\"\n}" }
          },
          "docs": "Applies a decision (accept, watch, block) to a user."
        },
        {
          "info": { "name": "Apply a decision to an order", "type": "http" },
          "http": {
            "method": "POST",
            "url": "https://api.sift.com/v3/accounts/:account_id/users/:user_id/orders/:order_id/decisions",
            "params": [
              { "name": "account_id", "value": "{{accountId}}", "type": "path", "description": "Your numeric Sift Account ID." },
              { "name": "user_id", "value": "billy_jones_301", "type": "path", "description": "The user ID." },
              { "name": "order_id", "value": "ORDER-28168441", "type": "path", "description": "The order ID." }
            ],
            "body": { "type": "json", "data": "{\n  \"decision_id\": \"block_order_payment_abuse\",\n  \"source\": \"AUTOMATED_RULE\"\n}" }
          },
          "docs": "Applies a decision to a specific order belonging to a user."
        },
        {
          "info": { "name": "Apply a decision to a session", "type": "http" },
          "http": {
            "method": "POST",
            "url": "https://api.sift.com/v3/accounts/:account_id/users/:user_id/sessions/:session_id/decisions",
            "params": [
              { "name": "account_id", "value": "{{accountId}}", "type": "path", "description": "Your numeric Sift Account ID." },
              { "name": "user_id", "value": "billy_jones_301", "type": "path", "description": "The user ID." },
              { "name": "session_id", "value": "SESSION-1234", "type": "path", "description": "The session ID." }
            ],
            "body": { "type": "json", "data": "{\n  \"decision_id\": \"watch_session_ato\",\n  \"source\": \"AUTOMATED_RULE\"\n}" }
          },
          "docs": "Applies a decision to a specific session belonging to a user."
        },
        {
          "info": { "name": "Apply a decision to content", "type": "http" },
          "http": {
            "method": "POST",
            "url": "https://api.sift.com/v3/accounts/:account_id/users/:user_id/content/:content_id/decisions",
            "params": [
              { "name": "account_id", "value": "{{accountId}}", "type": "path", "description": "Your numeric Sift Account ID." },
              { "name": "user_id", "value": "billy_jones_301", "type": "path", "description": "The user ID." },
              { "name": "content_id", "value": "CONTENT-9012", "type": "path", "description": "The content ID." }
            ],
            "body": { "type": "json", "data": "{\n  \"decision_id\": \"block_content_content_abuse\",\n  \"source\": \"MANUAL_REVIEW\",\n  \"analyst\": \"analyst@example.com\"\n}" }
          },
          "docs": "Applies a decision to a specific piece of content created by a user."
        }
      ]
    },
    {
      "info": { "name": "Workflows", "type": "folder" },
      "items": [
        {
          "info": { "name": "Get a workflow run status", "type": "http" },
          "http": {
            "method": "GET",
            "url": "https://api.sift.com/v3/accounts/:account_id/workflows/runs/:run_id",
            "params": [
              { "name": "account_id", "value": "{{accountId}}", "type": "path", "description": "Your numeric Sift Account ID." },
              { "name": "run_id", "value": "", "type": "path", "description": "The workflow run ID." }
            ]
          },
          "docs": "Retrieves the status and applied decisions of a Sift Workflow run."
        }
      ]
    },
    {
      "info": { "name": "Verification", "type": "folder" },
      "items": [
        {
          "info": { "name": "Send a verification code", "type": "http" },
          "http": {
            "method": "POST",
            "url": "https://api.sift.com/v1/verification/send",
            "body": { "type": "json", "data": "{\n  \"$user_id\": \"billy_jones_301\",\n  \"send_to\": \"billy@example.com\",\n  \"verification_type\": \"$email\",\n  \"brand_name\": \"ACME\",\n  \"language\": \"en\",\n  \"event\": {\n    \"$session_id\": \"SESSION-1234\",\n    \"$verified_event\": \"$login\"\n  }\n}" }
          },
          "docs": "Triggers generation and delivery of a one-time passcode (OTP) to a user."
        },
        {
          "info": { "name": "Resend a verification code", "type": "http" },
          "http": {
            "method": "POST",
            "url": "https://api.sift.com/v1/verification/resend",
            "body": { "type": "json", "data": "{\n  \"$user_id\": \"billy_jones_301\",\n  \"verified_event\": \"$login\"\n}" }
          },
          "docs": "Requests a new one-time passcode for a pending verification."
        },
        {
          "info": { "name": "Check a verification code", "type": "http" },
          "http": {
            "method": "POST",
            "url": "https://api.sift.com/v1/verification/check",
            "body": { "type": "json", "data": "{\n  \"$user_id\": \"billy_jones_301\",\n  \"$code\": 123456,\n  \"verified_event\": \"$login\"\n}" }
          },
          "docs": "Validates the one-time passcode provided by the user."
        }
      ]
    },
    {
      "info": { "name": "PSP Merchant Management", "type": "folder" },
      "items": [
        {
          "info": { "name": "List PSP merchants", "type": "http" },
          "http": {
            "method": "GET",
            "url": "https://api.sift.com/v3/accounts/:account_id/psp_management/merchants?batch_size=100",
            "params": [
              { "name": "account_id", "value": "{{accountId}}", "type": "path", "description": "Your numeric Sift Account ID." },
              { "name": "batch_size", "value": "100", "type": "query", "description": "Page size." }
            ]
          },
          "docs": "Lists sub-merchant profiles for an account, paginated."
        },
        {
          "info": { "name": "Create a PSP merchant", "type": "http" },
          "http": {
            "method": "POST",
            "url": "https://api.sift.com/v3/accounts/:account_id/psp_management/merchants",
            "params": [
              { "name": "account_id", "value": "{{accountId}}", "type": "path", "description": "Your numeric Sift Account ID." }
            ],
            "body": { "type": "json", "data": "{\n  \"id\": \"merchant-01\",\n  \"name\": \"Acme Marketplace Seller\",\n  \"description\": \"Electronics reseller\",\n  \"status\": \"active\"\n}" }
          },
          "docs": "Creates a new sub-merchant profile under an account."
        },
        {
          "info": { "name": "Get a PSP merchant", "type": "http" },
          "http": {
            "method": "GET",
            "url": "https://api.sift.com/v3/accounts/:account_id/psp_management/merchants/:merchant_id",
            "params": [
              { "name": "account_id", "value": "{{accountId}}", "type": "path", "description": "Your numeric Sift Account ID." },
              { "name": "merchant_id", "value": "merchant-01", "type": "path", "description": "The merchant ID." }
            ]
          },
          "docs": "Retrieves a specific sub-merchant profile."
        },
        {
          "info": { "name": "Update a PSP merchant", "type": "http" },
          "http": {
            "method": "PUT",
            "url": "https://api.sift.com/v3/accounts/:account_id/psp_management/merchants/:merchant_id",
            "params": [
              { "name": "account_id", "value": "{{accountId}}", "type": "path", "description": "Your numeric Sift Account ID." },
              { "name": "merchant_id", "value": "merchant-01", "type": "path", "description": "The merchant ID." }
            ],
            "body": { "type": "json", "data": "{\n  \"id\": \"merchant-01\",\n  \"name\": \"Acme Marketplace Seller\",\n  \"status\": \"inactive\"\n}" }
          },
          "docs": "Updates an existing sub-merchant profile."
        }
      ]
    }
  ],
  "bundled": true
}
