GET /v2/methodologies/:lenderId/active and GET /v2/methodologies/:lenderId/:methodologyHash resolve the per-lender underwriting methodology document linked from a Schema B attestation. Used by regulators and third-party verifiers to independently audit a lender’s underwriting basis.
These endpoints are public — no JWT, no IP-allowlist. They return the
documentUrl so a verifier can download the source PDF/markdown and re-hash it locally; any divergence flags a compromised methodology.Why this exists
A Schema B credit-risk attestation pinsmethodologyHash so a verifier can cryptographically prove which underwriting scorecard a lender used at attestation time. The hash alone is opaque — these endpoints resolve it back to the source document + version + lifecycle status, completing the verifier flow.
Combined with the audit-trail trinity, this means:
- Schema B attestation carries
methodologyHash(on-chain, immutable) GET /v2/methodologies/:lenderId/:hashresolves it todocumentUrl+version+ lifecycle statusSUPERSEDED/REVOKEDstatus indicates the methodology is no longer in force — verifier-side policy decides whether to honor historical attestations- Operator-side audit log (SUPER_ADMIN) preserves the full lifecycle for regulator review
Endpoint 1 — current ACTIVE methodology
{ found: false } when the lender has never registered a methodology (callers should fall back to the v0 well-known constant).
Request
Response (200, found)
Response (200, not registered)
Endpoint 2 — lookup by hash (verifier flow)
lenderId + methodologyHash parsed from an on-chain Schema B attestation, resolve it back to the source document.
Request
Response (200, found)
status values: ACTIVE | SUPERSEDED | REVOKED. A verifier seeing SUPERSEDED on an attestation issued before supersededAt should still honor it (the methodology was in force at mint time); seeing REVOKED is a red flag and verifier-side policy decides whether to honor.
Response (200, not found)
List all versions for a lender
effectiveAt. Verifiers use this when they want to walk a lender’s methodology history without already knowing specific methodologyHash values upfront (e.g. “show me every version CredibleX has ever published” for a regulator audit).
This endpoint is public — no JWT, no IP-allowlist. The response is intentionally redacted to a verifier-safe whitelist. Operator-only fields are deliberately NOT in the response:
notes (operator-only free-text), createdBy, updatedBy, and any internal lifecycle metadata. lenderId appears once in the envelope and is omitted from each row to avoid redundant payload.Request
No query parameters. The response is capped at 100 versions (hard cap — older versions are not paginated; a lender publishing >100 methodology versions is a registry-design escalation, not a paging escalation).
Response (200)
Field reference
Sort order
Versions are returned newest-first byeffectiveAt — the current ACTIVE row (if any) is row 0; the lender’s earliest registration is the last row.
Curl example
When to use this vs. the by-hash / active endpoints
- Use
GET /v2/methodologies/:lenderId/active(Endpoint 1 above) when you already know the lender and just want the current in-force methodology. - Use
GET /v2/methodologies/:lenderId/:methodologyHash(Endpoint 2 above) when you have a specificmethodologyHashfrom a Schema B attestation and want to resolve it to its source document. - Use this
versionsendpoint when you want the full lineage without a specific hash in hand — for example, regulator audits asking “show me every methodology this lender has ever issued attestations against.”
MCP wrapper
Consumer agents reach this endpoint via theget_methodology_versions MCP tool (in flight as a separate droplinked-mcp PR — will be listed on the Lender Trinity MCP Tools page once shipped) so ChatGPT / Claude / OpenAI Agents SDK callers can walk a lender’s methodology lineage without prior knowledge of the path scheme.
Verifier integrity check
A complete verifier flow:documentUrl was modified after the attestation was issued — flag and refuse.
Cross-reference
- Trust Fabric overview — where MethodologyRegistry fits in the 4-axis trust fabric
- Forensic chain workflow — end-to-end verifier walkthrough
- Lender Registry Lookup — resolve the
lenderIdto its public profile - MCP
verify_methodologytool — agent-runtime wrapper
Discovery
The MCP server advertises this endpoint via the discovery doc atmcp.droplinked.com/.well-known/mcp.json under the verify_methodology tool, so consumer agents (ChatGPT, Claude, OpenAI Agents SDK) reach it without any prior knowledge of the path scheme.
Lifecycle timeline
lenderId + methodologyHash) — used by third-party verifiers asking the temporal question: was this methodology version ACTIVE at the time a Schema B attestation was minted, or was it already SUPERSEDED / REVOKED? The point-in-time status from GET /v2/methodologies/:lenderId/:methodologyHash only answers right now; the timeline lets a verifier replay state at the attestation’s occurredAt.
This endpoint is public — no JWT, no IP-allowlist. The response is intentionally redacted to a verifier-safe whitelist. The following operator-only fields are deliberately NOT in the response:
actorId (which admin made the change), reason (free-text justification), and raw before/after value diffs for metadata-change events (display name, document URL, notes, semantic version). Only previousStatus / newStatus are exposed, and only for METHODOLOGY_REGISTERED + METHODOLOGY_SUPERSEDED + METHODOLOGY_REVOKED events.Request
Response (200)
Event types
previousStatus / newStatus values are drawn from the lifecycle enum: ACTIVE | SUPERSEDED | REVOKED. For metadata-change events the raw before/after values are intentionally redacted — verifiers can confirm that a change occurred at occurredAt but cannot read the operator-only diff (use the source-document re-hash flow from Verifier integrity check above to detect document-content tampering).
Verifier policy
The point of the timeline is to let a verifier decide whether a methodology was in force at the moment the on-chain attestation was minted:SUPERSEDEDat check time, butACTIVEat the attestation’soccurredAt→ legitimate. The methodology was the lender’s current scorecard when they signed; the supersession is a forward-looking change. The lifecycle is monotonic in the verifier-friendly direction:ACTIVEevents strictly precedeSUPERSEDEDevents for the same version.REVOKEDat any point → red flag. Revocation indicates the methodology was withdrawn (e.g. flawed risk model, compliance issue). Verifier-side policy decides whether to honor historical attestations against a revoked methodology; the default agent posture is to flag and surface for human review.
Curl example
MCP wrapper
Consumer agents reach this endpoint via theget_methodology_timeline MCP tool — already live on mcp.droplinked.com — so ChatGPT / Claude / OpenAI Agents SDK callers can replay a methodology’s lifecycle without prior knowledge of the path scheme.