Reference Data

Batch membership-eligibility verdicts for a list of credit unions

Answers "can THIS user join THESE credit unions?" for up to 50 credit unions against one user profile, in a single call. Every field of user is optional — the more you supply, the sharper the verdicts; a ZIP resolves to candidate counties server-side. Home geography accepts either the original state/zip/county names or the home_state/home_zip/home_county aliases returned in missing_facts; equivalent duplicate forms are accepted, but conflicting values are rejected.

Each verdict uses the shared eligibility status vocabulary also found on offers and rate surfaces. Exact graph-authority parity is guaranteed only between surfaces that evaluate the same active publication for the same person; /v1/league-table and raw /v1/rates annotations remain flat-record compatibility surfaces today. Accuracy-first: a credit union with no membership record, or whose held rules do not match, verdicts as unknown with an actionable unknown_reason — never as ineligible. Reserved negative enum literals remain for v1 wire compatibility but are not emitted from current open-world web-derived records.

Versioned graph verdict: when the credit union has eligibility-graph rules, the verdict also carries a graph object (five-value status, confidence, structured paths, and a deterministic explain sentence). For a CU with an atomically activated publication, the graph object names the exact publication and the v1 top-level status is projected from that same verdict; engine is eligibility_publication_v1. CUs not yet migrated retain additive compatibility output under legacy+graph_shadow.

The same capability ships as the MCP tool check_membership_eligibility.

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

post/v1/eligibility/check

Request

  • Base URL: https://api.rateapi.dev
  • URL: https://api.rateapi.dev/v1/eligibility/check
  • Auth: API key in header X-API-Key

Request body

credit_union_idsstring[] required

Composite credit-union ids (name|city|STATE) to verdict. Capped at 50 per call; duplicates are de-duplicated.

Example request

{
  "user": {
    "state": "CA",
    "zip": "95814",
    "county": "Sacramento",
    "home_state": "CA",
    "home_zip": "95814",
    "home_county": "Sacramento",
    "home_city": "Sacramento",
    "work_state": "CA",
    "work_zip": "95616",
    "work_county": "Yolo",
    "work_city": "Davis",
    "payroll_state": "TX",
    "payroll_zip": "79101",
    "payroll_county": "Potter",
    "payroll_city": "Amarillo",
    "employer": "State of California",
    "occupation": "nurse",
    "school": "UC Davis",
    "worship": "First Baptist Church"
  }
}

Response

One verdict per requested credit union, in request order.

countinteger required

Number of verdicts returned (de-duplicated id count).

engine'legacy+graph_shadow' | 'eligibility_publication_v1'

Present when at least one verdict carries a graph result. eligibility_publication_v1 means an exact active publication was authoritative; legacy+graph_shadow is compatibility output for CUs without a publication pointer.

disclosurestring required

Statement that must be shown to a consumer alongside this result.

missing_facts_truncatedboolean

True when a size cap dropped a question that could otherwise have been asked (3 per institution, 5 in the rollup, 20 unlock ids per rollup entry). The same honesty convention as candidate_set_truncated.

Changes

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