Skip to content

feat: add Credit & Sovereign Risk, Sanctions, Interest Rates APIs (14 endpoints)#74

Open
alexpipipi wants to merge 1 commit into
mainfrom
feat/api-coverage-sync
Open

feat: add Credit & Sovereign Risk, Sanctions, Interest Rates APIs (14 endpoints)#74
alexpipipi wants to merge 1 commit into
mainfrom
feat/api-coverage-sync

Conversation

@alexpipipi

Copy link
Copy Markdown
Contributor

New API classes CreditSovereignRiskAPI / SanctionsAPI / InterestRatesAPI (14 methods) + facade + tests. pytest: 105 passed. Filter values URL-encoded.

Part of an updatelibs cross-repo sync adding 3 API families / 14 endpoints — Credit & Sovereign Risk (7), Sanctions/OFAC (4), Interest Rates (3) — across EODHD-openapi, Node SDK, Python SDK, Postman, and the Claude plugin. Sanctions uses bare query params (verified vs prometheus-web request classes + live prod); credit-risk & interest-rates use filter[...]. Bridge pre-push review (Codex + Gemini): no blockers.

Add three new API families covering 14 GET endpoints:
- Credit & Sovereign Risk (/api/credit-risk): sovereign risk-premium,
  credit-ratings, cds-spreads, default-spreads; corporate cmdi, hqm-yields;
  cds-market aggregates
- Sanctions (/api/sanctions): entities, vessels, programs, sources
- Interest Rates (/api/rates, /api/spreads): reference-rates, policy-rates,
  funding-stress (no pagination)

credit-risk and rates/spreads use filter[...] deep-object params; sanctions
uses BARE query params (q=, program=, type=, active=, imo=, flag=, vessel_type=,
source=, country=) per prometheus-web + live prod. Pagination is
page[offset]/page[limit] throughout (except funding-stress: none). Filter/param
values are URL-encoded via a shared helper so multi-word values do not corrupt
the query string. Sanctions validates source->ofac and type/active enums.
Registered in APIs/__init__.py, exposed via APIClient facade, covered by pytest.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant