Decision Monitors

Simulate a rate change event

Simulates a rate change event to test your monitor configuration and webhook integration. The simulation evaluates your monitor's conditions against the provided rate change and optionally delivers a test webhook.

Simulation Options:

  • dry_run: true - Evaluate conditions without delivering webhook
  • deliver_webhook: false - Skip webhook delivery
  • override_cooldown: true (default) - Ignore cooldown for testing

Test vs Production Webhooks:

  • Simulation webhooks have event_type: "decision.monitor.test"
  • Production webhooks have event_type: "decision.monitor.triggered"
  • Both include test: true/false field for easy identification

Authentication required: Pass your API key in the X-API-Key header.

post/v1/monitors/{id}/simulate

Request

  • Base URL: https://api.rateapi.dev
  • URL: https://api.rateapi.dev/v1/monitors/{id}/simulate
  • Auth: API key in header X-API-Key

Path parameters

idstring required
Example:mon_abc123xyz

Monitor ID to simulate

Request body

Example request

{
  "rate_change": {
    "state": "CA",
    "product_type": "mortgage",
    "previous_rate": 7,
    "new_rate": 6.5,
    "credit_union_id": "navy-federal-credit-union"
  },
  "options": {
    "deliver_webhook": true,
    "override_cooldown": true
  }
}

Response

Simulation completed

simulation_idstring required

Unique simulation ID

monitor_idstring required

Monitor that was simulated

simulated_atstring date-time required

When the simulation was run

is_testboolean required

Always true for simulations

Example response

{
  "simulation_id": "sim_abc123xyz",
  "monitor_id": "mon_abc123xyz",
  "evaluation": {
    "triggered": true,
    "decision": {
      "recommended_action": "refinance",
      "confidence": 0.85,
      "monthly_savings": 245,
      "providers": [
        {
          "rank": 1,
          "credit_union_id": "schools-first-fcu",
          "credit_union_name": "SchoolsFirst Federal Credit Union",
          "credit_union_url": "https://www.schoolsfirstfcu.org",
          "rateapi_url": "https://rateapi.dev/credit-unions/ca/schoolsfirst-federal-credit-union",
          "state": "CA",
          "product_type": "30-Year Fixed",
          "product_name": "30-Year Fixed Rate Mortgage",
          "display_name": "30-Year Fixed Mortgage",
          "loan_program": "conventional",
          "rate": 6.125,
          "apr": 6.245,
          "points": 0.5,
          "monthly_payment": 3025,
          "verification_confidence": 0.95,
          "as_of": "2024-01-15T10:00:00.000Z",
          "last_updated": "2024-01-15T10:00:00.000Z",
          "estimated_monthly_savings": 245,
          "estimated_total_savings": 88200,
          "eligibility": {
            "status": "likely_eligible",
            "join_path": "Join the American Consumer Council (one-time $8 donation) during application",
            "eligibility_type": "community",
            "confidence": 0.9,
            "matched_rule": {
              "type": "county",
              "detail": "Sacramento"
            }
          },
          "institution_context": {
            "source": "NCUA quarterly call report",
            "cycle_date": "2026-03-31",
            "members": 82000,
            "locations": 8,
            "total_assets": 1200000000,
            "year_opened": 1935
          }
        }
      ]
    },
    "conditions_matched": {
      "action_types": {
        "required": [
          "refinance"
        ],
        "actual": "refinance"
      }
    },
    "cooldown_status": {
      "last_triggered_at": "2024-01-14T08:30:00.000Z",
      "cooldown_hours": 24,
      "next_eligible_at": "2024-01-15T08:30:00.000Z"
    }
  },
  "webhook_delivery": {
    "attempted": true,
    "success": true,
    "status_code": 200,
    "response_time_ms": 150
  },
  "simulated_at": "2024-01-15T12:00:00.000Z",
  "is_test": true
}

Changes

No recorded changes to this operation across all 1 revision of this API.